public class ProxyOutputStream extends FilterOutputStream
See the protected methods for ways in which a subclass can easily decorate a stream with custom pre-, post- or error processing functionality.
out| 构造器和说明 |
|---|
ProxyOutputStream(OutputStream proxy)
Constructs a new ProxyOutputStream.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
afterWrite(int n)
Invoked by the write methods after the proxied call has returned
successfully.
|
protected void |
beforeWrite(int n)
Invoked by the write methods before the call is proxied.
|
void |
close()
Invokes the delegate's
close() method. |
void |
flush()
Invokes the delegate's
flush() method. |
protected void |
handleIOException(IOException e)
Handle any IOExceptions thrown.
|
void |
write(byte[] bts)
Invokes the delegate's
write(byte[]) method. |
void |
write(byte[] bts,
int st,
int end)
Invokes the delegate's
write(byte[]) method. |
void |
write(int idx)
Invokes the delegate's
write(int) method. |
public ProxyOutputStream(OutputStream proxy)
proxy - the OutputStream to delegate topublic void write(int idx)
throws IOException
write(int) method.write 在类中 FilterOutputStreamidx - the byte to writeIOException - if an I/O error occurspublic void write(byte[] bts)
throws IOException
write(byte[]) method.write 在类中 FilterOutputStreambts - the bytes to writeIOException - if an I/O error occurspublic void write(byte[] bts,
int st,
int end)
throws IOException
write(byte[]) method.write 在类中 FilterOutputStreambts - the bytes to writest - The start offsetend - The number of bytes to writeIOException - if an I/O error occurspublic void flush()
throws IOException
flush() method.flush 在接口中 Flushableflush 在类中 FilterOutputStreamIOException - if an I/O error occurspublic void close()
throws IOException
close() method.close 在接口中 Closeableclose 在接口中 AutoCloseableclose 在类中 FilterOutputStreamIOException - if an I/O error occursprotected void beforeWrite(int n)
throws IOException
write(int) method, buffer
length for write(byte[]), etc.) is given as an argument.
Subclasses can override this method to add common pre-processing functionality without having to override all the write methods. The default implementation does nothing.
n - number of bytes to be writtenIOException - if the pre-processing failsprotected void afterWrite(int n)
throws IOException
write(int) method, buffer length for write(byte[]),
etc.) is given as an argument.
Subclasses can override this method to add common post-processing functionality without having to override all the write methods. The default implementation does nothing.
n - number of bytes writtenIOException - 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 occurs