Below is the UML diagram for a few commonly used concrete subclasses of InputStream . Note that the StreamTokenizer class shown in the diagram is not a subclass of InputStream . StreamTokenizer is a utility class used to parse the stream of input, and will be discussed below . The first step in using a concrete input stream class is to specify its source for its constructor. After you close the stream, you cannot read from it anymore until you open it up again.
Output streams Output streams are very similar.
Below is the UML diagram for a few commonly used concrete subclasses of OutputStream . The Reader and Writer classes Input and output for characters streams are handled through subclasses of the java.io.Reader and java.io.Writer classes. These classes are abstractions that Java provides for dealing with reading and writing character data. Many times when reading an input stream of characters, we need to see if what we are reading is a word or a number. This is similar to one piece of the RPN calculator project .