简述面向字符输入输出流的根类及子类层次结构,并简述常用类的主要功能
时间: 2024-02-01 21:15:22 浏览: 27
Java中面向字符输入输出流的根类是抽象类`Reader`和`Writer`,它们是所有字符输入输出流的基类。`Reader`和`Writer`分别表示输入和输出字符流。它们都是抽象类,不能直接使用,需要使用其具体子类。
下面是`Reader`和`Writer`的子类层次结构:
```
Reader
├── InputStreamReader
├── CharArrayReader
├── StringReader
├── FileReader
├── PipedReader
├── FilterReader
│ ├── PushbackReader
│ ├── BufferedReader
│ └── LineNumberReader
└── InputStreamReader
Writer
├── OutputStreamWriter
├── CharArrayWriter
├── StringWriter
├── FileWriter
├── PipedWriter
└── FilterWriter
├── PrintWriter
└── BufferedWriter
```
常用的类及其主要功能如下:
1. `InputStreamReader`:将字节流转换为字符流;
2. `CharArrayReader`、`StringReader`、`FileReader`:从字符数组、字符串、文件中读取字符;
3. `PipedReader`:从与`PipedWriter`相关联的管道中读取字符;
4. `FilterReader`及其子类`PushbackReader`、`BufferedReader`、`LineNumberReader`:提供额外的功能,如推回字符、缓冲字符和记录行号等;
5. `OutputStreamWriter`:将字符流转换为字节流;
6. `CharArrayWriter`、`StringWriter`、`FileWriter`:将字符写入字符数组、字符串、文件;
7. `PipedWriter`:将字符写入与`PipedReader`相关联的管道中;
8. `FilterWriter`及其子类`PrintWriter`、`BufferedWriter`:提供额外的功能,如打印、缓冲字符等。
这些类提供了非常方便的字符输入输出流操作功能,可以轻松地进行文件读写、管道通信等操作。