Title: List the main byte and character stream classes.
Course: Java Programming (Oracle) (10055) > Section: Exploring Database Input/Output

Listing main byte stream classes should include

- two class hierarchies: one for input and one for output
- two abstract classes at the top of each class hierarchy (from which are derived concrete subclasses that handle details of reading from and writing to various devices):
  - InputStream—defines characteristics common to byte input streams
  - OutputStream—defines characteristics common to byte output stream.

Listing character stream classes should include

- two class hierarchies: one for input and one for output
- two abstract classes, at the top of input and output hierarchies, whose concrete subclasses operate on Unicode character streams:
  - Reader is used for input.
  - Writer is used for output.

In general, the character-based classes parallel the byte-based classes.