Java——BufferedReader和BufferedWriter應用實例

/*  
字符流的緩衝區:緩衝區是爲了提高讀或寫的效率
                只具備提高效率的功能,不具備讀或者寫的功能
                所以使用緩衝流必須結合着讀流或寫流

BufferdReader:只具備提高效率的功能,不具備讀的功能
BufferdWriter:只具備提高效率的功能,不具備寫的功能----newLine()跨平臺寫入換行
*/
import java.io.*;
class test{
    public static void main(String[] args)throws IOException{
        //使用緩衝寫入流實現文件的寫入

        //1、因爲BufferdWriter不具備寫入的功能,所以需要先創建字符寫入流對象和文件相關聯
        FileWriter fw = new FileWriter("tt.txt");

        //2、爲了提高寫入的效率,使用緩衝寫入流
        //把需要被提高效率的字符輸出流對象作爲參數傳遞給BufferWriter的構造方法
        BufferedWriter bw = new BufferedWriter(fw);

        //3、使用BufferWriter對象實現寫入數據
        for(int i=1;i<=3;i++){
            bw.write("abc"+i);
            bw.newLine();//寫入換行---跨平臺的
            bw.flush();//或者可以在最後關閉流
        }

        //關閉流
        bw.close();//關閉緩衝流,其實就是關閉字符輸出流
    }
}
//BufferedReader:只具備提高效率的功能,不具備讀的功能
//提供了一個一次讀一行的功能readLine()
import java.io.*;
class test{
    public static void main(String[] args)throws IOException{
        //1、創建文件讀取流
        FileReader fr = new FileReader("tt.txt");

        //2、爲了提高讀取的效率,使用BufferedReader
        //把需要被提高效率的座位參數傳遞給BufferedReader的構造方法
        BufferedReader br = new BufferedReader(fr);

        //BufferedReader有一個一次讀一行的功能
        String line = null;

        /*line = br.readLine();//返回的一行不包含最後的換行符
        System.out.println(line);

        line = br.readLine();
        System.out.println(line);

        line = br.readLine();
        System.out.println(line);*/

        //改爲循環
        while((line = br.readLine())!=null){
            System.out.println(line);
        }

        br.close();//實際上關閉的是fr
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章