Filtered Byte Streams
Filtered streams are simply wrappers around underlying input or output streams that, transparently provide some extended level of functionality. These streams are typically accessed by methods that are expecting a generic stream, which is a superclass of the filtered streams. Typical extensions are buffering, character translation, and raw data translation. The filtered byte streams are Filtc!InputStream and FilterOutputStream. Their constructors are shown here:
FilterInputStream(Input beam is)
The methods provided in these classes are identical to those in InputStream and Outstream.
Buffered Byte Stream,s,
For the byte-oriented streams, a buffered stream extends a filtered stream class by attaching a .c memory buffer to the I/O streams. This buffer allows Java to do I/O operations on more. than.a byte at a time, hence increasing performance. Because the buffer is available, skipping, marking, and resetting of the stream becomes possible. The buffered byte stream classes are BufferedInputStream and BufferedOutputStream. PushbackInputStream also implements a buffered stream.