The[] b, int off, int len) method writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation. The write method of OutputStream calls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation.

If b is null, a NullPointerException is thrown. If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.


Following is the declaration for method

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


  • b -- the data.

  • off -- the start offset in the data.

  • len -- the number of bytes to write

Return Value

This method does not return a value.


  • IOException -- if an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.


The following example shows the usage of method.

package com.tutorialspoint;


public class OutputStreamDemo {

   public static void main(String[] args) {
      byte[] b = {'h', 'e', 'l', 'l', 'o'};
      try {

         // create a new output stream
         OutputStream os = new FileOutputStream("test.txt");

         // craete a new input stream
         InputStream is = new FileInputStream("test.txt");

         // write something
         os.write(b, 0, 3);

         // read what we wrote
         for (int i = 0; i < 3; i++) {
            System.out.print("" + (char);

      } catch (Exception ex) {


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