Java.io.SequenceInputStream.read() Method
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