Concatenation SequnceInputStream Concatenates multiple input streams into one input stream. To serialize objects. To read and write primitive data types in a machine independent form. Counting LineNumberReader LineNumberInputStream To keep track of line numbers while reading. To peek at the next item while reading.
Item needs to be pushed back to the stream.
To handle compressing and decompressing files in zip, gzip and jar formats. Printing PrintWriter PrintStream Contains convenient printing methods. Layering Stream Filters FileInputStream and FileOutputStream create input and output streams attached to a disk file. The programmer has to combine the two classes into a filtered stream by feeding an existing stream to the constructor of another stream. That is every read retrieves only one byte from a disk file.