The Java TM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search

Trail: To 1.1 -- And Beyond!
Lesson: Migrating to 1.1

## Character Streams versus Byte Streams

> The following table summarizes the character stream classes. In the left column, indentation indicates subclass relationships.

> Character-stream class | Description | Corresponding byte class
> --- | --- | ---
> `Reader` | Abstract class for character-input streams | `InputStream`
> `BufferedReader` | Buffers input, parses lines | `BufferedInputStream`
> `LineNumberReader` | Keeps track of line numbers | `LineNumberInputStream`
> `CharArrayReader` | Reads from a character array |
> `InputStreamReader` | Translates a byte stream into a character stream | (none)
> `FileReader` | Translates bytes from a file into a character stream | `FileInputStream`
> `FilterReader` | Abstract class for filtered character input | `FilterInputStream`
> `PushbackReader` | Allows characters to be pushed back | `PushbackInputStream`
> `PipedReader` | Reads from a `PipedWriter` | `PipedInputStream`
> `StringReader` | Reads from a `String` | `StringBufferInputStream`
> `Writer` | Abstract class for character-output streams | `OutputStream`
> `BufferedWriter` | Buffers output, uses platform's line separator | `BufferedOutputStream`
> `CharArrayWriter` | Writes to a character array | `ByteArrayOutputStream`
> `FilterWriter` | Abstract class for filtered character output | `FilterOutputStream`
> `OutputStreamWriter` | Translates a character stream into a byte stream | (none)
> `FileWriter` | Translates a character stream into a byte file | `FileOutputStream`
> `PrintWriter` | Prints values and objects to a `Writer` | `PrintStream`
> `PipedWriter` | Writes to a `PipedReader` | `PipedOutputStream`
> `StringWriter` | Writes to a `String` | (none)

| Start of Tutorial > Start of Trail > Start of Lesson | Search