Up to now, we have only seen a small subset of the stream classes. There are many more, and together they are refered to as the stream zoo. Still the main idea is that the abstract classes InputStream and OutputStream are the general superclasses, and the concrete subclasses either specify
The latter classes are organized via superclasses FilterInputStream and FilterOutputStream, which themselves do not offer more functionality. This organization in classes leads to the pictures above and below for the input streams and output streams.