字符流由两个类的层次结构定义.其顶端是两个抽象类:Reader和Writer.Reader用于输入,Writer用于输出.从Reader和Writer派生的具体类用于处理Unicode字符流.
从reader和writer派生的若干具体子类用于处理不同的I/O任务.通常,基于字符的类与基本字节的类是相对应的.字符流类如下表所示:
字符流
|
含义
|
字符流
|
含义
|
BufferedReader
|
输入字符流缓冲
|
OutputStreamWriter
|
将字符转换为字节的输出流
|
BufferedWriter
|
输出字符流缓冲
|
PipedReader
|
输入管道
|
CharArrayReader
|
从字符数组读取的输入流
|
pipedWriter
|
输出管道
|
CharArrayWriter
|
写入字符数组的输出流
|
printWriter
|
包含print()和println()的输出流
|
FileReader
|
从文件读取的输入流
|
PushbackReader
|
允许字符返回到输入流的输入流 |
FileWriter
|
写入文件的输出流
|
reader
|
描述字符流输入的抽象类
|
FilterReader
|
过滤reader
|
stringReader
|
读取字符串的输入流
|
filterWriter
|
过滤writer |
StringWriter
|
写入字符串的输出流
|
InputStreamReader
|
将字节转换为字符的输入流
|
Writer
|
描述字符流输出的抽象类
|
LineNumberReader
|
统计行数的输入流
|