Java - ByteArrayOutputStream size()



Description

The Java ByteArrayOutputStream size() method returns the current size of the buffer accumulated inside the output stream.

Declaration

Following is the declaration for java.io.ByteArrayOutputStream.size() method −

public int size()

Parameters

NA

Return Value

The method returns the current size of the buffer accumulated inside the output stream.

Exception

NA

Example 1

The following example shows the usage of Java ByteArrayOutputStream size() method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we write a value to output stream in a for loop and print the stream using toString() method and its size using size() method. Lastly in finally block, we close the stream using close() method.

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      String str = "";
      int size = 0;            
      byte[] bs = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // for each byte in the buffer
         for (byte b : bs) {
         
            // write byte in to output stream
            baos.write(b);
            
            // convert output stream to string
            str = baos.toString();
            size = baos.size();
            
            // print
            System.out.print(size+":");
            System.out.println(str);
         }
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

Output

Let us compile and run the above program, this will produce the following result −

1:A
2:AB
3:ABC
4:ABCD
5:ABCDE

Example 2

The following example shows the usage of Java ByteArrayOutputStream size() method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we're writing multiple value to output stream and print the stream using toString() method and its size using size() method. As a next step, we've reset the output stream to be empty and printed it again and its size using size() method.

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      ByteArrayOutputStream baos = null;      
      try {
         String str = "";
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // writing bytes to output stream
         baos.write(75);
         baos.write(65);
         
         // output stream to string
         str = baos.toString();
         System.out.println("Before Resetting : "+str);
         System.out.println("Stream Size : "+baos.size());
         
         // reset() method invocation 
         baos.reset();
         
         // output stream to string()
         str = baos.toString();
         System.out.println("After Resetting : "+ str);
         System.out.println("Stream Size : "+baos.size());
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Before Resetting : KA
Stream Size : 2
After Resetting : 
Stream Size : 0
java_bytearrayoutputstream.htm
Advertisements