我期望字符流和字节流之间在类的层次结构方面具有一一对应的关系。

FilterReaderFilterWriter(字符流)对应于FilterInputStreamFilterOutputStream(字节流)类。

但是我注意到很少的变化-


BufferedInputStream扩展FilterInputStream,但是BufferedReader不扩展FilterReader
BufferedOutputStreamPrintStream都扩展FilterOutputStream,但是BufferedWriterPrintWriter不扩展FilterWriter
FilterInputStreamFilterOutputStream不是抽象类,但FilterReaderFilterWriter是抽象类。


我不确定自己是否太偏执,无法指出这种差异,但只是好奇地知道这种决定背后是否存在设计推理。

最佳答案

Input/OutputStream类已经是Java 1.0的一部分,而Reader/Writer类仅在Java 1.1中添加。但是,没有一种语言更改似乎可以解释您提到的设计差异。

10-01 09:19