10.4 知识点拓展:I/O类库

10.4 知识点拓展:I/O类库

java.io包中主要的“流”类如图2.10.2所示。

图2.10.2 java.io包中主要的“流”类

在java.io包中有4个基本抽象类,如表2.10.1所示。

表2.10.1 4个基本抽象类

这4个抽象类把“流”类按照方向和数据处理单位分为4个种类。所谓抽象类,就是类中的有些方法是没有实现体的,抽象类主要是为了给出所有子类的一个定义模板(规定所有子类需要提供的方法),但是有些方法只能在子类中实现。抽象类是不能创建对象的。在这里,以上4个抽象类就给出4种“流”的总体特征,将“流”类划分为4个种类。

有一些“流”类是直接和外设文件相联(创建对象时参数是文件路径字符串或者文件对象),如FileReader/FileWriter和FileInputStream/FileOutputStream,这种流叫作节点流,直接和外部设备进行读写操作。

有一些“流”类是不能直接和文件相联的(创建对象时参数是其他的流类对象),如上例中的Buffered Reader和Print Writer,这种流叫作处理流,用于对“流”中的数据进行处理。