Java - ByteArrayOutputStream writeTo​(OutputStream out)



Description

The Java ByteArrayOutputStream writeTo(OutputStream out) method writes the complete contents of this byte array output stream to the specified output stream argument, as if by calling the output stream's write method using out.write(buf, 0, count).

Declaration

Following is the declaration for java.io.ByteArrayOutputStream.writeTo(OutputStream out) method −

public void writeTo(OutputStream out)

Parameters

out − The specified output stream to be written to

Return Value

This method doesn't return any value.

Exception

NullPointerException − if out is null.

IOException − If an I/O error occurs.

Example 1

The following example shows the usage of Java ByteArrayOutputStream writeTo(OutputStream out) method. We've created OutputStream and ByteArrayOutputStream references and then initialized them with ByteArrayOutputStream object. Now we've written a byte array to ByteArrayOutputStream object using write() method and then using writeTo() method, we've copied the values of ByteArrayOutputStream object to the OutputStream object and print the string representation of the output stream using toString() method. Lastly in finally block, we close the streams using close() method.

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      byte[] bs = {65, 66, 67, 68, 69, 70, 71, 72};
      OutputStream os = null;
      ByteArrayOutputStream baos = null;
      
      try {
         // create new output stream
         os = new ByteArrayOutputStream();
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write buffer to the byte array output stream
         baos.write(bs);
         
         // write to the output stream
         baos.writeTo(os);
         
         // print the byte as default character set
         System.out.println(os.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
         if(os!=null)
            os.close();
      }   
   }
}

Output

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

ABCDEFGH

Example 2

The following example shows the usage of Java ByteArrayOutputStream writeTo(OutputStream out) method. We've created OutputStream and ByteArrayOutputStream references and then initialized them with ByteArrayOutputStream object. Now we've written a few values to ByteArrayOutputStream object using write() method and then using writeTo() method, we've copied the values of ByteArrayOutputStream object to the OutputStream object and print the string representation of the output stream using toString() method. Lastly in finally block, we close the streams using close() method.

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      OutputStream os = null;
      ByteArrayOutputStream baos = null;
      
      try {
         // create new output stream
         os = new ByteArrayOutputStream();
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write buffer to the byte array output stream
         baos.write(65);
         baos.write(66);
         
         // write to the output stream
         baos.writeTo(os);
         
         // print the byte as default character set
         System.out.println(os.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
         if(os!=null)
            os.close();
      }   
   }
}

Output

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

AB
java_bytearrayoutputstream.htm
Advertisements