Package it.unimi.dsi.io
Class MultipleInputStream
- java.lang.Object
-
- java.io.InputStream
-
- it.unimi.dsi.io.MultipleInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class MultipleInputStream extends java.io.InputStream
A multiple input stream.Instances of this class encapsulate a sequence of input streams. When one of the streams is exhausted, the multiple stream behaves as if on an end of file. However, after calling
reset()
the stream is again readable, and positioned at the start of the following stream.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
static java.io.InputStream
getStream(java.io.InputStream[] inputStream)
Returns an input stream encapsulating a nonempty array of input streams.static java.io.InputStream
getStream(java.io.InputStream[] inputStream, int offset, int length)
Returns an input stream encapsulating a nonempty fragment of an array of input streams.boolean
markSupported()
int
read()
int
read(byte[] b)
int
read(byte[] b, int off, int len)
void
reset()
long
skip(long n)
-
-
-
Method Detail
-
getStream
public static java.io.InputStream getStream(java.io.InputStream[] inputStream, int offset, int length)
Returns an input stream encapsulating a nonempty fragment of an array of input streams.- Parameters:
inputStream
- an array of input streams, that will be encapsulated.offset
- the first input stream that will be encapsulated.length
- the number of input streams to be encapsulated.- Returns:
- an input stream encapsulating the argument streams (the only argument, if length is 1).
-
getStream
public static java.io.InputStream getStream(java.io.InputStream[] inputStream)
Returns an input stream encapsulating a nonempty array of input streams.Note that if
inputStream.length
is 1 this method will return the only stream that should be encapsulated.- Parameters:
inputStream
- an array of input streams, that will be encapsulated.- Returns:
- an input stream encapsulating the argument streams (the only argument, if the length is 1).
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.InputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classjava.io.InputStream
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
reset
public void reset() throws java.io.IOException
- Overrides:
reset
in classjava.io.InputStream
- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException
- Overrides:
skip
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-