java 21 - 6 字符缓冲流的特殊方法以及该方法高效复制文件

字符缓冲流的特殊方法:

  A、BufferedWriter:

    public void newLine():根据系统来决定换行符

 1     private static void write() throws IOException {
 2         //创建字符输出缓冲流
 3         BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));
 4         for(int x = 0;x < 10 ; x++){
 5             bw.write("java"+x);
 6             //每次都自动换行
 7             bw.newLine();
 8         }
 9         //释放资源
10         bw.close();
11     }

  B、 BufferedReader:

    public String readLine():一次读取一行数据

  注意:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

 1     private static void read() throws IOException {    
 2         // 创建字符输入缓冲流
 3         BufferedReader br = new BufferedReader(new FileReader("bw.txt"));
 4         //一次读取一行
 5         //用循环,终止条件是返回的是null
 6         String str = null;//读取的是字符串
 7         while((str = br.readLine()) != null){
 8             System.out.println(str);//把bw.txt里面的内容打印出来
 9         }
10         //释放资源
11         br.close();
12     }

利用字符缓冲流来复制文本文件:要熟练掌握

    public static void main(String[] args) throws IOException {
        //封装数据源
        BufferedReader br = new BufferedReader(new FileReader("a.txt"));
        //封装目的地
        BufferedWriter bw = new BufferedWriter(new FileWriter("copy.txt"));
        
        //用换行读取的方式来复制
        String len = null;
        while((len = br.readLine()) != null){
            //有内容,则输出到copy文件中
            bw.write(len);
            //注意,这里要加自动换行,不然内容都连起来了
            bw.newLine();
        }
        //释放资源
        br.close();
        bw.close();

    }