java.lang.Object | ||
↳ | java.io.InputStream | |
↳ | java.io.FilterInputStream |
Wraps an existing InputStream
and performs some transformation on the
input data while it is being read. Transformations can be anything from a
simple byte-wise filtering input data to an on-the-fly compression or
decompression of the underlying stream. Input streams that wrap another input
stream and provide some additional functionality on top of it usually inherit
from this class.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
protected InputStream | in | The source input stream that is filtered. |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
FilterInputStream(InputStream in)
Constructs a new
FilterInputStream with the specified input stream as
source. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int |
available()
Returns an estimate of the number of bytes that can be read (or skipped over)
from this input stream without blocking by the next caller of a method for
this input stream.
| ||||||||||
void |
close()
Closes this stream.
| ||||||||||
synchronized void |
mark(int readlimit)
Sets a mark position in this stream.
| ||||||||||
boolean |
markSupported()
Indicates whether this stream supports
mark() and reset() . | ||||||||||
int |
read()
Reads a single byte from the filtered stream and returns it as an integer in
the range from 0 to 255.
| ||||||||||
int |
read(byte[] buffer, int offset, int count)
Reads at most
count bytes from this stream and stores them in the
byte array buffer starting at offset . | ||||||||||
synchronized void |
reset()
Resets this stream to the last marked location.
| ||||||||||
long |
skip(long byteCount)
Skips
byteCount bytes in this stream. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Constructs a new FilterInputStream
with the specified input stream as
source.
Warning: passing a null source creates an invalid
FilterInputStream
, that fails on every method that is not overridden.
Subclasses should check for null in their constructors.
in | the input stream to filter reads on. |
---|
Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream. The next caller might be 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.
This method returns the result of in
.available().
IOException | if an I/O error occurs. |
---|
Closes this stream. This implementation closes the filtered stream.
IOException | if an error occurs while closing this stream. |
---|
Sets a mark position in this stream. The parameter readlimit
indicates how many bytes can be read before the mark is invalidated. Sending
reset()
will reposition this stream back to the marked position,
provided that readlimit
has not been surpassed.
This implementation sets a mark in the filtered stream.
readlimit | the number of bytes that can be read from this stream before the mark is invalidated. |
---|
Indicates whether this stream supports mark()
and reset()
.
This implementation returns whether or not the filtered stream supports
marking.
true
if mark()
and reset()
are supported,
false
otherwise.Reads a single byte from the filtered stream and returns it as an integer in the range from 0 to 255. Returns -1 if the end of this stream has been reached.
IOException | if the stream is closed or another IOException occurs. |
---|
Reads at most count
bytes from this stream and stores them in the
byte array buffer
starting at offset
. Returns the number of
bytes actually read or -1 if no bytes have been read and the end of this
stream has been reached. This implementation reads bytes from the filtered
stream.
buffer | the byte 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 . |
IOException | if this stream is closed or another I/O error occurs. |
---|
Resets this stream to the last marked location. This implementation resets the target stream.
IOException | if this stream is already closed, no mark has been set or the
mark is no longer valid because more than readlimit bytes
have been read since setting the mark. |
---|
Skips byteCount
bytes in this stream. Subsequent calls to
read
will not return these bytes unless reset
is used. This
implementation skips byteCount
bytes in the filtered stream.
byteCount | the number of bytes to be skipped. |
---|
IOException | if this stream is closed or another IOException occurs. |
---|