IO流——装饰器模式
装饰器模式就像是俄罗斯套娃,它的核心是在不改变原有类的基础上给类新增功能。例如IO流,一层套一层。
import java.io.*;
public class IOTest {
public static void main(String[] args) throws FileNotFoundException {
//FileInputStream字节流
//InputStreamReader转换流
//BufferedReader缓冲流
//File文件
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("D:\\"))));
//FileReader字符流
BufferedReader bufferedReader1 = new BufferedReader(new FileReader(new File("E:\\")));
}
}
字节流和字符流循环读写数据,操作磁盘的次数非常多,影响性能。通过缓冲流,可以先缓存大量读写数据,等到比较多了之后,在连接磁盘一次从磁盘读取或者写。缓冲流避免多次连接磁盘影响性能,达到高效读写操作。
但是仅仅针对字符操作有效,当文件是一些图片等等信息的时候,不要用缓冲流。