A FilterInputStream
contains some other input stream, which it uses as its
basic source of data, possibly transforming the data along the way or providing
additional functionality. The class FilterInputStream
itself simply overrides all
methods of InputStream
with versions that pass all requests to the contained
input stream. Subclasses of FilterInputStream
may further override some of
these methods and may also provide additional methods and fields.
public classFilterInputStream
extends InputStream { protected InputStreamin
; protectedFilterInputStream
(InputStream in); public intread
() throws IOException; public intread
(byte[] b) throws IOException, NullPointerException; public intread
(byte[] b, int off, int len) throws IOException, NullPointerException, IndexOutOfBoundsException; public longskip
(long n) throws IOException; public intavailable
() throws IOException; public voidclose
() throws IOException; public voidmark
(int readlimit); public voidreset
() throws IOException; public booleanmarkSupported
(); }
22.9.1 protected InputStream in;
The input stream to be filtered.
22.9.2 protected FilterInputStream(InputStream in)
This constructor initializes a newly created FilterInputStream
by assigning the
argument in
to the field this.in
so as to remember it for later use.
22.9.3 public int read() throws IOException
This method simply performs in.read()
and returns the result.
Implements the read
method of InputStream
(§22.3.1).
22.9.4 public int read(byte[] b)
throws IOException, NullPointerException
This method simply performs the call read(b, 0, b.length)
and returns the
result. It is important that it does not do in.read(b)
instead; certain subclasses of
FilterInputStream
depend on the implementation strategy actually used.
Overrides the read
method of InputStream
(§22.3.2).
22.9.5 public int read(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException
This method simply performs in.read(b, off, len)
and returns the result.
Overrides the read
method of InputStream
(§22.3.3).
22.9.6 public long skip(long n) throws IOException
This method simply performs in.skip()
and returns the result.
Overrides the skip
method of InputStream
(§22.3.4).
22.9.7 public int available() throws IOException
This method simply performs in.available()
and returns the result.
Overrides the available
method of InputStream
(§22.3.5).
22.9.8 public void close() throws IOException
This method simply performs in.close()
.
Overrides the close
method of InputStream
(§22.3.6).
22.9.9 public void mark(int readlimit)
This method simply performs in.mark()
.
Overrides the mark
method of InputStream
(§22.3.7).
22.9.10 public void reset() throws IOException
This method simply performs in.reset()
.
Overrides the reset
method of InputStream
(§22.3.8).
22.9.11 public boolean markSupported()
This method simply performs in.markSupported()
and returns whatever value
is returned from that invocation.
Overrides the markSupported
method of InputStream
(§22.3.9).