Package com.jalios.io
Class MultiInputStream
- java.lang.Object
-
- java.io.InputStream
-
- com.jalios.io.MultiInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class MultiInputStream extends java.io.InputStream
This class is a facade on an array of InputStream. When the first InputStream is empty it reads in the next.- Version:
- $Revision: 27751 $
- Author:
- Olivier Dedieu
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
REVISION
-
Constructor Summary
Constructors Constructor Description MultiInputStream(java.io.InputStream[] array)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
Returns the number of bytes that can be read from this input stream without blocking.void
close()
Closes this input stream and releases any system resources associated with the stream.void
mark(int readlimit)
Marks the current position in this input stream.boolean
markSupported()
Tests if this input stream supports themark
andreset
methods.int
read()
Reads the next byte of data from this input stream.
-
-
-
Field Detail
-
REVISION
public static final java.lang.String REVISION
- See Also:
- Constant Field Values
-
-
Method Detail
-
read
public int read() throws java.io.IOException
Reads the next byte of data from this input stream. The value byte is returned as anint
in the range0
to255
. If no byte is available because the end of the stream has been reached, the value-1
is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.- Specified by:
read
in classjava.io.InputStream
- Returns:
- the next byte of data, or
-1
if the end of the stream is reached. - Throws:
java.io.IOException
- if an I/O error occurs.- Since:
- JDK1.0
-
available
public int available() throws java.io.IOException
Returns the number of bytes that can be read from this input stream without blocking. The available method ofInputStream
returns0
. This method should be overridden by subclasses.- Overrides:
available
in classjava.io.InputStream
- Returns:
- the number of bytes that can be read from this input stream without blocking.
- Throws:
java.io.IOException
- if an I/O error occurs.- Since:
- JDK1.0
-
close
public void close() throws java.io.IOException
Closes this input stream and releases any system resources associated with the stream.The
close
method ofInputStream
does nothing.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
- if an I/O error occurs.- Since:
- JDK1.0
-
mark
public void mark(int readlimit)
Marks the current position in this input stream. A subsequent call to thereset
method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.The
readlimit
arguments tells this input stream to allow that many bytes to be read before the mark position gets invalidated.- Overrides:
mark
in classjava.io.InputStream
- Parameters:
readlimit
- the maximum limit of bytes that can be read before the mark position becomes invalid.- Since:
- JDK1.0
- See Also:
InputStream.reset()
-
markSupported
public boolean markSupported()
Tests if this input stream supports themark
andreset
methods. ThemarkSupported
method ofInputStream
returnsfalse
.- Overrides:
markSupported
in classjava.io.InputStream
- Returns:
true
if this true type supports the mark and reset method;false
otherwise.- Since:
- JDK1.0
- See Also:
InputStream.mark(int)
,InputStream.reset()
-
-