public class FilterOutputStream extends OutputStream
 The class FilterOutputStream itself simply overrides all methods of
 OutputStream with versions that pass all requests to the underlying output stream.
 Subclasses of FilterOutputStream may further override some of these methods as well
 as provide additional methods and fields.
| Modifier and Type | Field and Description | 
|---|---|
| protected OutputStream | outThe underlying output stream to be filtered. | 
| Constructor and Description | 
|---|
| FilterOutputStream(OutputStream out)Creates an output stream filter built on top of the specified underlying output stream. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | close()Closes this output stream and releases any system resources associated with the stream. | 
| void | flush()Flushes this output stream and forces any buffered output bytes to be written out to the stream. | 
| void | write(byte[] b)Writes  b.lengthbytes to this output stream. | 
| void | write(byte[] b,
     int off,
     int len)Writes  lenbytes from the specifiedbytearray starting at offsetoffto this output stream. | 
| void | write(int b)Writes the specified  byteto this output stream. | 
protected OutputStream out
public FilterOutputStream(@Nullable OutputStream out)
out - the underlying output stream to be assigned to the field this.out for later use,
        or null if this instance is to be created without an underlying stream.public void close()
           throws IOException
 The close method of FilterOutputStream calls its flush
 method, and then calls the close method of its underlying output stream.
close in interface Closeableclose in interface AutoCloseableclose in class OutputStreamIOException - if an I/O error occurs.flush(), 
outpublic void flush()
           throws IOException
 The flush method of FilterOutputStream calls the flush
 method of its underlying output stream.
flush in interface Flushableflush in class OutputStreamIOException - if an I/O error occurs.outpublic void write(byte[] b)
           throws IOException
b.length bytes to this output stream.
 
 The write method of FilterOutputStream calls its write
 method of three arguments with the arguments b, 0, and
 b.length.
 
 Note that this method does not call the one-argument write method of its underlying
 stream with the single argument b.
write in class OutputStreamb - the data to be written.IOException - if an I/O error occurs.write(byte[], int, int)public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
len bytes from the specified byte array starting at offset
 off to this output stream.
 
 The write method of FilterOutputStream calls the write
 method of one argument on each byte to output.
 
 Note that this method does not call the write method of its underlying input stream
 with the same arguments. Subclasses of FilterOutputStream should provide a more
 efficient implementation of this method.
write in class OutputStreamb - the data.off - the start offset in the data.len - the number of bytes to write.IOException - if an I/O error occurs.write(int)public void write(int b)
           throws IOException
byte to this output stream.
 
 The write method of FilterOutputStream calls the write
 method of its underlying output stream, that is, it performs out.write(b).
 
Implements the abstract write method of OutputStream.
write in class OutputStreamb - the byte.IOException - if an I/O error occurs.