CSDN话题挑战赛第2期
参赛话题:学习笔记
1. 基本介绍
- 节点流可以从一个特定的数据源读写数据,如FileReader,FileWriter
- 处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,也更加灵活,如BufferedReader,BufferedWriter

2. 节点流和处理流的区别和联系
- 节点流是底层流/低级流,直接跟数据源相接。
- 处理流(包装流)包装节点流,既可以消除不同节点流的实现差异,也可以提供更方便的方法来完成输入输出。
- 处理流(也叫包装流)对节点流进行包装,使用了修饰器设计模式,不会直接与数据源相连,
3. 处理流的功能
处理流的功能主要体现在以下两个方面:
- 性能的提高:主要以增加缓冲的方式来提高输入输出的效率。
- 操作的便捷,处理流可能提供了一系列便捷的方法来一次输入输出大批量的数据,使用更加灵活方便。
3.1处理流-BufferedReader 和 BufferedWriter:
BufferedReader 和 BufferedWriter属于字符流,是按照字符来读取数据的,关闭处理流时,只需要关闭外层流即可
3.1.1 BufferedReader 案例演示
String filePath = "d:\\a.java";
//创建 bufferedReader
BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));
//读取
String line; //按行读取, 效率高
//说明
//1. bufferedReader.readLine() 是按行读取文件
//2. 当返回 null 时,表示文件读取完毕
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
//关闭流, 这里注意,只需要关闭 BufferedReader ,因为底层会自动的去关闭 节点流
//FileReader
bufferedReader.close();
3.1.2 BufferedWriter案例演示
String filePath = "d:\\ok.txt";
//创建 BufferedWriter
//说明:
//1. new FileWriter(filePath, true) 表示以追加的方式写入
//2. new FileWriter(filePath) , 表示以覆盖的方式写入
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(filePath));
bufferedWriter.write("hello, 明天你好!");
bufferedWriter.newLine();//插入一个和系统相关的换行
bufferedWriter.write("hello2, 明天你好!

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



