java.lang.Object | ||
↳ | java.io.InputStream | |
↳ | java.io.SequenceInputStream |
Concatenates two or more existing InputStreams. Reads are taken from the first stream until it ends, then the next stream is used, until the last stream returns end of file.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new
SequenceInputStream using the two streams
s1 and s2 as the sequence of streams to read from. | |||||||||||
Constructs a new SequenceInputStream using the elements returned from
Enumeration
e as the stream sequence. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the number of bytes that are available before the current input stream will
block.
| |||||||||||
Closes all streams in this sequence of input stream.
| |||||||||||
Reads at most
count bytes from this sequence of input streams and
stores them in the byte array buffer starting at offset . | |||||||||||
Reads a single byte from this sequence of input streams and returns it as
an integer in the range from 0 to 255.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class java.io.InputStream
| |||||||||||
From class java.lang.Object
| |||||||||||
From interface java.io.Closeable
|
Constructs a new SequenceInputStream
using the two streams
s1
and s2
as the sequence of streams to read from.
s1 | the first stream to get bytes from. |
---|---|
s2 | the second stream to get bytes from. |
NullPointerException | if s1 is null . |
---|
Constructs a new SequenceInputStream using the elements returned from
Enumeration e
as the stream sequence. The instances returned by
e.nextElement()
must be of type InputStream.
e | the enumeration of InputStreams to get bytes from. |
---|
NullPointerException | if any of the elements in e is null . |
---|
Returns the number of bytes that are available before the current input stream will block.
IOException | if an I/O error occurs in the current input stream. |
---|
Closes all streams in this sequence of input stream.
IOException | if an error occurs while closing any of the input streams. |
---|
Reads at most count
bytes from this sequence of input streams and
stores them in the byte array buffer
starting at offset
.
Blocks only until at least 1 byte has been read, the end of the stream
has been reached, or an exception is thrown.
This SequenceInputStream shows the same behavior as other InputStreams.
To do this it will read only as many bytes as a call to read on the
current substream returns. If that call does not return as many bytes as
requested by count
, it will not retry to read more on its own
because subsequent reads might block. This would violate the rule that
it will only block until at least one byte has been read.
If a substream has already reached the end when this call is made, it will close that substream and start with the next one. If there are no more substreams it will return -1.
buffer | the array in which to store the bytes read. |
---|---|
offset | the initial position in buffer to store the bytes read
from this stream. |
count | the maximum number of bytes to store in buffer . |
IndexOutOfBoundsException | if offset < 0 or count < 0 , or if offset + count is greater than the size of buffer . |
---|---|
IOException | if an I/O error occurs. |
NullPointerException | if buffer is null . |
Reads a single byte from this sequence of input streams and returns it as an integer in the range from 0 to 255. It tries to read from the current stream first; if the end of this stream has been reached, it reads from the next one. Blocks until one byte has been read, the end of the last input stream in the sequence has been reached, or an exception is thrown.
IOException | if an error occurs while reading the current source input stream. |
---|