包括:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream
- BufferedInputStream
- DataInputStream
上面 5 个为常用的基于字节操作的 IO 操作类,其中前三个 相当于 装饰器模式的 ConcreteComponent,后两个是具体的装饰者类。传送门:装饰器模式
一. FileInputStream
用于读取文件内容。常用的有两种构造函数,例如:
其中 name 和 file 都是指向 需要读取的文件。Demo:
二. ByteArrayInputStream
三. ObjectInputStream
ObjectInputStream 可以用于读取对象,但是读取的对象必须实现 Serializable 接口 。
四. BufferedInputStream
五. DataInputStream
其中 name 和 file 都是指向 需要读取的文件。Demo:
需要注意的是 try-catch-finally
ByteArrayInputStream,主要是应对流的来源和目的地不一定是文件这种情况,比如说可能是内存,可能是数组。例如:
三. ObjectInputStream
ObjectInputStream 可以用于读取对象,但是读取的对象必须实现 Serializable 接口 。
四. BufferedInputStream
BufferedInputStream 提供了一个缓冲的功能,可以避免大量的磁盘IO。因为像FileInputStream 这种,每一次的读取,都是一次磁盘IO。
五. DataInputStream
该类的主要作用是可以返回一些基本类型或者是String类型,否则的话,只能返回byte类型的数据,利用该类,我们可以更好的操作数据。