Java IO流中涉及到了装饰器模式、工厂模式、单例模式、适配器模式。
1、装饰器模式
Java IO流使用了装饰器模式,通过继承和实现抽象类或接口来扩展一个流的功能。例如,BufferedInputStream和BufferedOutputStream都是装饰器类,它们为InputStream和OutputStream添加了缓冲功能。
2、工厂模式
Java IO流使用工厂模式来创建各种类型的流对象。例如,FileInputStream和FileOutputStream都是通过工厂方法来创建的。
3、单例模式
在Java IO流中,有些流只能有一个实例,例如,标准输入流System.in和标准输出流System.out。这些流使用了单例模式,确保只有一个实例可用。
4、适配器模式
Java IO流中的InputStreamReader和OutputStreamWriter是适配器模式的例子。它们将字节流转换为字符流,以便进行文本处理。
Java IO流的常用类
1、JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
2、InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
3、OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
4、Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
5、Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。