Java - ByteArrayOutputStream close()



Description

Calling the Java ByteArrayOutputStream close() method has no effect. The methods in this class can be called after close() invocation without generating I/O error.

Declaration

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

public void close()

Parameters

NA

Return Value

The method doesn't return any value.

Exception

NA

Example 1

The following example shows the usage of Java ByteArrayOutputStream close() method. We've created a variable buf as byte[] and initialized with few bytes. We've created a ByteArrayOutputStream reference and then created a new ByteArrayOutputStream() object. We've used the close() method to close the stream before invoking write() method. Then we're writing the byte array to ByteArrayOutputStream object using its write() method and printing its string version.

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      byte[] buf = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // close is invoked before baos.
         baos.close();
         
         // writing byte array to the output stream
         baos.write(buf);
         
         // print as string
         System.out.print(baos.toString());
         
      } 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 −

ABCDE

Example 2

The following example shows the usage of Java ByteArrayOutputStream close() method. We've created a variable buf as byte[] and initialized with few bytes. We've created a ByteArrayOutputStream reference and then created a new ByteArrayOutputStream() object. Then we're writing the byte array to ByteArrayOutputStream object using its write() method and printing its string version. In finally block, we're closing the ByteArrayOutputStream object 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 {
      byte[] buf = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // writing byte array to the output stream
         baos.write(buf);
         
         // print as string
         System.out.print(baos.toString());
         
      } 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 −

ABCDE
java_bytearrayoutputstream.htm
Advertisements