- BufferedReader和 BufferedWriter属于字符流,是按照字符来读取数据的
- 关闭时处理流,只需要关闭外层流即可
案例:
需求:
使用BufferedReader读取文本文件,并显示在控制台
实现:
package test;import java.io.BufferedReader;import java.io.FileReader;/** * 演示bufferedReader 使用 */public class Main { public static void main(String[] args) throws Exception { String filePath = "D:\\a.txt"; //创建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。 /* public void close() throws IOException { synchronized (lock) { if (in == null) return; try { in.close();//in 就是我们传入的 new FileReader(filePath), 关闭了. } finally { in = null; cb = null; } } } */ bufferedReader.close(); }}