public abstract class ProxyReader extends FilterReader
It is an alternative base class to FilterReader to increase reusability, because FilterReader changes the methods being called, such as read(char[]) to read(char[], int, int).
in| 构造器和说明 |
|---|
ProxyReader(Reader proxy)
Constructs a new ProxyReader.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
afterRead(int n)
Invoked by the read methods after the proxied call has returned
successfully.
|
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 idx)
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(char[] chr)
Invokes the delegate's
read(char[]) method. |
int |
read(char[] chr,
int st,
int len)
Invokes the delegate's
read(char[], int, int) method. |
int |
read(CharBuffer target)
Invokes the delegate's
read(CharBuffer) method. |
boolean |
ready()
Invokes the delegate's
ready() method. |
void |
reset()
Invokes the delegate's
reset() method. |
long |
skip(long ln)
Invokes the delegate's
skip(long) method. |
public ProxyReader(Reader proxy)
proxy - the Reader to delegate topublic int read()
throws IOException
read() method.read 在类中 FilterReaderIOException - if an I/O error occurspublic int read(char[] chr)
throws IOException
read(char[]) method.read 在类中 Readerchr - the buffer to read the characters intoIOException - if an I/O error occurspublic int read(char[] chr,
int st,
int len)
throws IOException
read(char[], int, int) method.read 在类中 FilterReaderchr - the buffer to read the characters intost - The start offsetlen - The number of bytes to readIOException - if an I/O error occurspublic int read(CharBuffer target) throws IOException
read(CharBuffer) method.read 在接口中 Readableread 在类中 Readertarget - the char buffer to read the characters intoIOException - if an I/O error occurspublic long skip(long ln)
throws IOException
skip(long) method.skip 在类中 FilterReaderln - the number of bytes to skipIOException - if an I/O error occurspublic boolean ready()
throws IOException
ready() method.ready 在类中 FilterReaderIOException - if an I/O error occurspublic void close()
throws IOException
close() method.close 在接口中 Closeableclose 在接口中 AutoCloseableclose 在类中 FilterReaderIOException - if an I/O error occurspublic void mark(int idx)
throws IOException
mark(int) method.mark 在类中 FilterReaderidx - read ahead limitIOException - if an I/O error occurspublic void reset()
throws IOException
reset() method.reset 在类中 FilterReaderIOException - if an I/O error occurspublic boolean markSupported()
markSupported() method.markSupported 在类中 FilterReaderprotected void beforeRead(int n)
throws IOException
read()
method, buffer length for read(char[]), 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 chars 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 chars 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 behaviour is to re-throw the exception.
e - The IOException thrownIOException - if an I/O error occursCopyright © 2022–2023. All rights reserved.