This stream may enter into an EOF state, returning -1 from any of the read methods, and then later successfully read additional bytes if a new InputStream is added after reaching EOF.
Currently this stream does not support the mark/reset APIs. If mark and later
reset functionality is needed the caller should wrap this stream with a
java..
| Modifier and Type | Field and Description |
|---|---|
| private static final InputStream | |
| private final Deque |
| Access | Constructor and Description |
|---|---|
| public | |
| public | UnionInputStream(InputStream...
streams to be pushed onto this stream. inputStreams)Create an InputStream that is a union of the individual streams. |
| Modifier and Type | Method and Description |
|---|---|
| public void | add(InputStream
the stream to add; must not be null. in)Add the given InputStream onto the end of the stream queue. |
| public int | available()
Overrides java. Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when end of stream is detected. |
| public void | close()
Overrides java. Implements java. Closes this input stream and releases any system resources associated with the stream. |
| private InputStream | |
| public boolean | Returns: true if there are no more streams to read from.Returns true if there are no more InputStreams in the stream queue. |
| private void | |
| public int | read()
Implements abstract java. Reads the next byte of data from the input stream. |
| public int | read(byte[]
the buffer into which the data is read. b, int the start offset in array off, int b
at which the data is written.the maximum number of bytes to read. len)Overrides java. Reads up to |
| public long | skip(long
the number of bytes to be skipped. count)Overrides java. Skips over and discards |
| EOF | back to summary |
|---|---|
| private static final InputStream EOF | |
| streams | back to summary |
|---|---|
| private final Deque<InputStream> streams | |
| UnionInputStream | back to summary |
|---|---|
| public UnionInputStream() Create an empty InputStream that is currently at EOF state. | |
| UnionInputStream | back to summary |
|---|---|
| public UnionInputStream(InputStream... inputStreams) Create an InputStream that is a union of the individual streams. As each stream reaches EOF, it will be automatically closed before bytes from the next stream are read.
| |
| add | back to summary |
|---|---|
| public void add(InputStream in) Add the given InputStream onto the end of the stream queue. When the stream reaches EOF it will be automatically closed.
| |
| available | back to summary |
|---|---|
| public int available() throws IOException Overrides java. Doc from java. Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when end of stream is detected. The read might be on the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes. Note that while some implementations of A subclass's implementation of this method may choose to throw an
| |
| close | back to summary |
|---|---|
| public void close() throws IOException Overrides java. Implements java. Doc from java. Closes this input stream and releases any system resources associated with the stream.
| |
| head | back to summary |
|---|---|
| private InputStream head() | |
| isEmpty | back to summary |
|---|---|
| public boolean isEmpty() Returns true if there are no more InputStreams in the stream queue.
If this method returns
| |
| pop | back to summary |
|---|---|
| private void pop() throws IOException | |
| read | back to summary |
|---|---|
| public int read() throws IOException Implements abstract java. Doc from java. Reads the next byte of data from the input stream. The value byte is
returned as an
| |
| read | back to summary |
|---|---|
| public int read(byte[] b, int off, int len) throws IOException Overrides java. Doc from java. Reads up to This method blocks until input data is available, end of file is detected, or an exception is thrown. If The first byte read is stored into element In every case, elements
| |
| skip | back to summary |
|---|---|
| public long skip(long count) throws IOException Overrides java. Doc from java. Skips over and discards
| |