• 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也可以指定字符集的编码。

梅花香自古寒来