天天看點

字元緩存流

BufferedReader / BufferedWriter

高效讀寫、支援輸入換行符、可一次寫一行讀一行

BufferedReader

小案例

第一種方式讀取:

package com.iopractise;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * 使用字元緩存流讀取檔案
 */
public class Demo13 {
    public static void main(String[] args) throws IOException {
        //1.建立緩存流
        FileReader fr = new FileReader("d:\\ccc.txt");
        BufferedReader br = new BufferedReader(fr);
        //2.讀取
        char[] buf = new char[1024];
        int count=0;
        while ((count=br.read(buf))!=-1){
            System.out.println(new String(buf,0,count));
        }
        //3.關閉資源
        br.close();//相當于關閉了FileReader
        System.out.println("執行完畢");

    }
}
      

  

運作結果:

中國加油!中國加油!中國加油!中國加油!中國加油!中國加油!中國加油!中國加油!中國加油!中國加油!

執行完畢

小案例:

第二種方式:一行一行的讀取

package com.iopractise;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

/**
 * 使用字元緩存流讀取檔案
 */
public class Demo14 {
    public static void main(String[] args) throws IOException {
        //1.建立緩存流
        FileReader fr = new FileReader("d:\\ccc.txt");
        BufferedReader br = new BufferedReader(fr);
        //2.讀取
        String line=null;
        while ((line=br.readLine())!=null){
            System.out.println(line);
        }
        //3.關閉資源
        br.close();//相當于關閉了FileReader
        System.out.println("執行完畢");

    }
}
      

執行結果:

中國加油!中國加油!中國加油!中國加油!中國加油!

BufferedWriter

package com.iopractise;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

/**
 * BufferWriter的使用
 *
 */
public class Demo15 {
    public static void main(String[] args) throws IOException {
        // 1. 建立BufferedWriter對象
        FileWriter fw = new FileWriter("d:\\ddd.txt");
        BufferedWriter bw = new BufferedWriter(fw);
        // 2. 寫入
        for(int i = 0; i < 10; i ++){
            bw.write("張家口加油!!!");
            bw.newLine(); // 寫入一個換行符
            bw.flush();
        }
        // 3. 關閉
        bw.close(); // 此時會自動關閉fw
    }
}
      

運作結果:打開對應生成的檔案:

張家口加油!!!