public abstract class ProxyInputStream extends FilterInputStream
It is an alternative base class to FilterInputStream to increase reusability, because FilterInputStream changes the methods being called, such as read(byte[]) to read(byte[], int, int).
See the protected methods for ways in which a subclass can easily decorate a stream with custom pre-, post- or error processing functionality.
in| Constructor and Description |
|---|
ProxyInputStream(InputStream proxy)
Constructs a new ProxyInputStream.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterRead(int n)
Invoked by the read methods after the proxied call has returned
successfully.
|
int |
available()
Invokes the delegate's
available() method. |
protected void |
beforeRead(int n)
Invoked by the read methods before the call is proxied.
|
void |
close()
Invokes the delegate's
close() method. |
protected void |
handleIOException(IOException e)
Handle any IOExceptions thrown.
|
void |
mark(int readlimit)
Invokes the delegate's
mark(int) method. |
boolean |
markSupported()
Invokes the delegate's
markSupported() method. |
int |
read()
Invokes the delegate's
read() method. |
int |
read(byte[] bts)
Invokes the delegate's
read(byte[]) method. |
int |
read(byte[] bts,
int off,
int len)
Invokes the delegate's
read(byte[], int, int) method. |
void |
reset()
Invokes the delegate's
reset() method. |
long |
skip(long ln)
Invokes the delegate's
skip(long) method. |
public ProxyInputStream(InputStream proxy)
proxy - the InputStream to delegate topublic int read() throws IOException
read() method.read in class FilterInputStreamIOException - if an I/O error occurspublic int read(byte[] bts) throws IOException
read(byte[]) method.read in class FilterInputStreambts - the buffer to read the bytes intoIOException - if an I/O error occurspublic int read(byte[] bts, int off, int len) throws IOException
read(byte[], int, int) method.read in class FilterInputStreambts - the buffer to read the bytes intooff - The start offsetlen - The number of bytes to readIOException - if an I/O error occurspublic long skip(long ln) throws IOException
skip(long) method.skip in class FilterInputStreamln - the number of bytes to skipIOException - if an I/O error occurspublic int available() throws IOException
available() method.available in class FilterInputStreamIOException - if an I/O error occurspublic void close() throws IOException
close() method.close in interface Closeableclose in interface AutoCloseableclose in class FilterInputStreamIOException - if an I/O error occurspublic void mark(int readlimit)
mark(int) method.mark in class FilterInputStreamreadlimit - read ahead limitpublic void reset() throws IOException
reset() method.reset in class FilterInputStreamIOException - if an I/O error occurspublic boolean markSupported()
markSupported() method.markSupported in class FilterInputStreamprotected void beforeRead(int n) throws IOException
read()
method, buffer length for read(byte[]), etc.) is given as
an argument.
Subclasses can override this method to add common pre-processing functionality without having to override all the read methods. The default implementation does nothing.
Note this method is not called from skip(long) or
reset(). You need to explicitly override those methods if
you want to add pre-processing steps also to them.
n - number of bytes that the caller asked to be readIOException - if the pre-processing failsprotected void afterRead(int n) throws IOException
Subclasses can override this method to add common post-processing functionality without having to override all the read methods. The default implementation does nothing.
Note this method is not called from skip(long) or
reset(). You need to explicitly override those methods if
you want to add post-processing steps also to them.
n - number of bytes read, or -1 if the end of stream was reachedIOException - if the post-processing failsprotected void handleIOException(IOException e) throws IOException
This method provides a point to implement custom exception handling. The default behavior is to re-throw the exception.
e - The IOException thrownIOException - if an I/O error occursCopyright © 2002–2020 The Apache Software Foundation. All rights reserved.