-
A: InputStreamReader
-
B:BufferedReader
-
C:Writer
-
D:PipedInputStream
我在这里分别把四个选项的api贴过来,自己看看就知道了。
A、 InputStreanReader的构造函数:
InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, Charset cs) 创建使用给定字符集的 InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) 创建使用给定字符集解码器的 InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的 InputStreamReader。 |
B、BufferedReader的构造函数:
BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。 |
BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。 |
C、Writer的构造函数:
protected | Writer() 创建一个新的字符流 writer,其关键部分将同步 writer 自身。 |
protected | Writer(Object lock) 创建一个新的字符流 writer,其关键部分将同步给定的对象。 |
D、PipedInputStream的构造函数:
PipedInputStream() 创建尚未连接的PipedInputStream。 |
PipedInputStream(int pipeSize) 创建一个尚未连接的PipedInputStream,并对管道缓冲区使用指定的管道大小。 |
PipedInputStream(PipedOutputStream src) 创建PipedInputStream,使其连接到管道输出流src。 |
PipedInputStream(PipedOutputStream src, int pipeSize) 创建一个PipedInputStream,使其连接到管道输出流src,并对管道缓冲区使用指定的管道大小。 |
所以,答案是A了。(我参看的api的1.6版本的)
Unicode是由两个字节组成的,而InputStreamReader是将字节流转换成字符流供我们使用。同时InputStreamReader也可以指定字符集的编码。