Java.io.SequenceInputStream.read() Method

Advertisements


Description

The java.io.SequenceInputStream.read(byte[] b,int off,int len) method reads up to len bytes of data from this input stream into an array of bytes. If len is not zero, the method blocks until at least 1 byte of input is available; otherwise, no bytes are read and 0 is returned.

Declaration

Following is the declaration for java.io.SequenceInputStream.read() method

public int read(byte[] b,int off,int len)

Parameters

  • b -- the buffer into which the data is read.

  • off -- the start offset in array b at which the data is written.

  • b -- the maximum number of bytes read.

Return Value

This method returns the number of bytes read.

Exception

  • NullPointerException -- If b is null

  • IndexOutOfBoundsException -- If off is negative, len is negative, or len is greater than b.length - off

  • IOException -- if an I/O error occurs.

Example

The following example shows the usage of java.io.SequenceInputStream.read() method.

package com.tutorialspoint;

import java.io.*;

public class SequenceInputStreamDemo {

   public static void main(String[] args) {

      // create two  new strings with 5 characters each
      String s1 = "Hello";
      String s2 = "World";

      // create 2 input streams
      byte[] b1 = s1.getBytes();
      byte[] b2 = s2.getBytes();
      ByteArrayInputStream is1 = new ByteArrayInputStream(b1);
      ByteArrayInputStream is2 = new ByteArrayInputStream(b2);

      // create a new Sequence Input Stream
      SequenceInputStream sis = new SequenceInputStream(is1, is2);

      // create a new byte array
      byte arr[] = {'1', '2', '3', '4'};
      try {

         // read 3 chars and print the number of chars read
         System.out.print("" + sis.read(arr, 0, 3));

         // change line
         System.out.println();

         // close the streams
         sis.close();

      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

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

3



Advertisements
Advertisements