BufferedReader:
带有缓冲区的字符输入流。
使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组,自带缓冲区。
BufferedRreader:
package com.javaSe.BufferedReader; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /* BufferedReader: 带有缓冲区的字符输入流。 使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组,自带缓冲区。 */ public class BufferedReaderTest01 { public static void main(String[] args) { BufferedReader bfr = null; try { FileReader reader = new FileReader("CopyTest02.java"); // 当一个流的构造方法中需要一个流的时候,这个被传进来的流叫做:节点流。 // 外部负责包装的这个流,叫做:包装流,还有一个名字叫做:处理流。 // 向当前这个程序来说:FileReader就是一个节点流,BufferedReader就是包装流/处理流。 bfr = new BufferedReader(reader); // 读一行 /*String firstLine = bfr.readLine(); System.out.println(firstLine); firstLine = bfr.readLine(); System.out.println(firstLine); firstLine = bfr.readLine(); System.out.println(firstLine);*/ // bfr.readLine()方法读取一个文本行,单不带换行符。 String s = null; while ((s = bfr.readLine()) != null){ System.out.println(s); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bfr != null) { // 关闭流 // 对于包装流来说,只需要关闭最外层流就行,里面的节点流会自动关闭。(可以看源代码) try { bfr.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
BufferedReader:
package com.javaSe.BufferedReader; import java.io.*; /* 转换流:InputStreamReader */ public class BufferedReaderTest02 { public static void main(String[] args) { FileInputStream in = null; BufferedReader br = null; try { /*// 字节流 in = new FileInputStream("CopyTest02.java"); // 通过转换流转换 // in是字节流。reader是包装流 InputStreamReader reader = new InputStreamReader(in); // 这个构造方法只能传一个字节流,不能传字符流。 br = new BufferedReader(reader);*/ // 合并 br = new BufferedReader(new InputStreamReader(new FileInputStream("CopyTest02.java"))); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { // 关闭最外层 br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }