1.java io 流最关键的4个父类
~InputStream(输入字节流)
~OutputStream(输出字节流)
~Reader(输入字符流)
~Writer(输出字符流)
以上四个类都为 public abstract class 类。
InputStream 和 OutputStream 数据传送 以字节“byte”为单位。Reader 和 Writer 数据传送以字符“character” 为单位。java io包中一类以“xxxStream”格式命名,另一类以“xxxReader” 或者“xxxWriter”命名。
2.io流的分类
(上图来源于网络)
2.1根据实现类可以分为三类:
~第一类:数据源类
~第二类:数据流串联类
~第三类:数据流过滤类
其中数据源类是创建各种流的起始类,第二类和第三类是对各类实例的包装。斜体部分是抽象类,粗体是常用类。
2.2 根据流的输入源类型分类可分为两大类:
~第一类:数组,String,File等,原始流源。
~第二类:同样类型的流用作链接流的流源,叫做链接流源。
后面讲解流基本会按照以上两类分类讲解。
3.流的运作原理
所谓流,就是数据的有序排列,而流可以从某个源出来,到某个目的地去。
根据流方向的不同,可以分为输入流和输出流。程序从输入流读取数据,从输出流输出数据。
根据流的数据类型不同,可以分为字节流和字符流。字节流可以实现向字符流转换。
输入流和输出流可以通过各种过滤流的包装,形成流的链,以便拥有更多功能。