Package de.pdark.decentxml
Class JoinedInputStream
- java.lang.Object
-
- java.io.InputStream
-
- de.pdark.decentxml.JoinedInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class JoinedInputStream extends java.io.InputStreamThis class allows to join severalInputStream's into one.Reading from an instance of
JoinedInputStreamwill read each underlyingInputStreamuntil it is depleted and then continue with the next one.Depleted
InputStream's will be closed as soon as possible.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.io.InputStream>streams
-
Constructor Summary
Constructors Constructor Description JoinedInputStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JoinedInputStreamadd(java.io.InputStream in)Add anotherInputStream.voidclose()private voidpopStream()Remove the currentInputStreamand close it.intread()intread(byte[] b, int off, int len)
-
-
-
Method Detail
-
add
public JoinedInputStream add(java.io.InputStream in)
Add anotherInputStream.It is allowed to add more
InputStream's even after reading has started.It is illegal to add more streams after the joined stream has been closed.
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
popStream
private void popStream() throws java.io.IOExceptionRemove the currentInputStreamand close it.- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
-