Java 中 IO 流分为几种?

在Java中,流可以根据不同的特点进行多种划分方式:

  • 根据流的流向,可以分为输入流输出流
  • 根据操作单元,可以划分为字节流字符流
  • 根据流的角色,可以划分为节点流处理流

Java的IO库涉及了40多个类,看起来可能有些杂乱,但实际上它们之间存在一定的关联性。所有这些类都是从以下4个抽象类基类派生出来的:

  • InputStream/Reader:所有输入流的基类,前者是字节输入流,后者是字符输入流。
  • OutputStream/Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流。

1.jpg

IO 流用到了什么设计模式?

其实,Java 的 IO 流体系还用到了一个设计模式——装饰器模式

InputStream 相关的部分类图如下,篇幅有限,装饰器模式就不展开说了。

2.png

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, a常见问题