java.io
public class FilterInputStream extends InputStream
InputStream
and simply redirects calls made to it to the subordinate InputStream
instead. Subclasses of this class perform additional filtering
functions in addition to simply redirecting the call.
This class is not abstract. However, since it only redirects calls
to a subordinate InputStream
without adding any functionality
on top of it, this class should not be used directly. Instead, various
subclasses of this class should be used. This is enforced with a
protected constructor. Do not try to hack around it.
When creating a subclass of FilterInputStream
, override the
appropriate methods to implement the desired filtering. However, note
that the read(byte[])
method does not need to be overridden
as this class redirects calls to that method to
read(byte[], int, int)
instead of to the subordinate
InputStream read(byte[])
method.
Field Summary | |
---|---|
protected InputStream | in
This is the subordinate InputStream to which method calls
are redirected |
Constructor Summary | |
---|---|
protected | FilterInputStream(InputStream in)
Create a FilterInputStream with the specified subordinate
InputStream .
|
Method Summary | |
---|---|
int | available()
Calls the in.available() method.
|
void | close()
This method closes the input stream by closing the input stream that
this object is filtering. |
void | mark(int readlimit)
Calls the in.mark(int) method.
|
boolean | markSupported()
Calls the in.markSupported() method.
|
int | read()
Calls the in.read() method
|
int | read(byte[] buf)
Calls the read(byte[], int, int) overloaded method.
|
int | read(byte[] buf, int offset, int len)
Calls the in.read(byte[], int, int) method.
|
void | reset()
Calls the in.reset() method.
|
long | skip(long numBytes)
Calls the in.skip(long) method
|
InputStream
to which method calls
are redirectedFilterInputStream
with the specified subordinate
InputStream
.
Parameters: in The subordinate InputStream
in.available()
method.
Returns: The value returned from in.available()
Throws: IOException If an error occurs
Throws: IOException If an error occurs
in.mark(int)
method.
Parameters: readlimit The parameter passed to in.mark(int)
in.markSupported()
method.
Returns: true
if mark/reset is supported, false
otherwise
in.read()
method
Returns: The value returned from in.read()
Throws: IOException If an error occurs
read(byte[], int, int)
overloaded method.
Note that
this method does not redirect its call directly to a corresponding
method in in
. This allows subclasses to override only the
three argument version of read
.
Parameters: buf The buffer to read bytes into
Returns: The value retured from in.read(byte[], int, int)
Throws: IOException If an error occurs
in.read(byte[], int, int)
method.
Parameters: buf The buffer to read bytes into offset The index into the buffer to start storing bytes len The maximum number of bytes to read.
Returns: The value retured from in.read(byte[], int, int)
Throws: IOException If an error occurs
in.reset()
method.
Throws: IOException If an error occurs
in.skip(long)
method
Parameters: numBytes The requested number of bytes to skip.
Returns: The value returned from in.skip(long)
Throws: IOException If an error occurs