Java - ByteArrayOutputStream write(byte[] b, int off, int len)



Description

The java ByteArrayOutputStream write(byte[] b, int off, int len) method writes len bytes from the specified byte array starting at offset off to this ByteArrayOutputStream.

Declaration

Following is the declaration for java.io.ByteArrayOutputStream.write(byte[] b, int off, int len) method −

public void write(byte[] b, int off, int len)

Parameters

  • b − The specified buffer.

  • off − Offset to start in the data.

  • len − The length of the bytes to write.

Return Value

This method doesn't return any value.

Exception

NA

Example 1

The following example shows the usage of Java ByteArrayOutputStream write(byte[] b, int off, int len) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we've written a part of a bytearray to output stream using write() method and print the string representation of the stream using toString() 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 = "";      
      byte[] bs = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write byte array to the output stream
         baos.write(bs, 2, 3);
         
         // converts buffer to string
         str = baos.toString();
         
         // print
         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 −

CDE

Example 2

The following example shows the usage of Java ByteArrayOutputStream write(byte[] b, int off, int len) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we've written complete bytearray to output stream using write() method and print the string representation of the stream using toString() 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 = "";      
      byte[] bs = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write byte array to the output stream
         baos.write(bs, 0, bs.length());
         
         // converts buffer to string
         str = baos.toString();
         
         // print
         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 −

ABCDE
java_bytearrayoutputstream.htm
Advertisements