目录
一、节点流
- 节点流是底层流/低级流,直接跟数据源相接。
二、包装流
- 处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,也更加灵活,如BufferedReader、BufferedWriter
- 处理流(也叫包装流)对节点流进行包装,使用了修饰器设计模式,不会直接与数据源相连,模拟修饰器设计模式
- 性能的提高:主要以增加缓冲的方式来提高输入输出的效率,操作的便捷:处理流可能提供了一系列便捷的方法来一次输入输出大批量的数据,使用更加灵活方便
三、BufferedReader 包装流 字符输入流
- BufferedReader 类中,有属性Reader, 即可以封装一个节点流,该节点流可以是任意的只要是Reader子类(只要是Reader子类 BufferedReader都可使用)
import java.io.BufferedReader;
import java.io.FileReader;
/**
* BufferedReader 包装流 字符输入流
*/
public class BufferedReader_ {
public static void main(String[] args) throws Exception {
String filePath = "D:\\aaaaa.java";//读取文件的路径
//创建BufferedReader
BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));//底层调用FileReader
String line;//按行读取
while ((line = bufferedReader.readLine()) != null) {//当返回null 时,表示文件读取完毕
System.out.println(line);
}
bufferedReader.close();//关闭流, 这里注意,只需要关闭 BufferedReader ,因为底层会自动的去关闭 节点流
}
}