Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Java I/O 流类的主要抽象基类是什么?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

传统 I/O 的四个主要抽象基类是 InputStream、OutputStream、Reader、Writer。前两者处理字节,后两者处理字符;输入与输出表示相对当前程序的数据方向。它们不是一个所有流都继承的共同 Stream 父类。

讲清原理

数据单位 输入 输出
字节 InputStream OutputStream
字符 Reader Writer

字节流适合图片、压缩包等二进制数据;字符流适合按指定编码处理文本。InputStreamReader 与 OutputStreamWriter 是字节和字符之间的桥接。BufferedReader 等包装类则增加缓冲或读取便利,并不改变字符流的基本身份。

例子与易错点

读取图片时,不要先解码为字符串再写回,那可能改变原始字节。读取文本时,也不要只靠默认编码碰运气。java.util.stream.Stream 属于另一套处理元素序列的 API,不是上述文件 I/O 流的共同父类;NIO 的 Channel 也不都继承 InputStream。

相关题:第 61 题、第 64 题、第 66 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。