1. 程式人生 > >I/O————緩存流

I/O————緩存流

except 操作 system buffer 性能 class tac 減少 建立

為什麽要使用緩存流?

當對磁盤訪問次數多的時候,字節流和字符流就會感覺性能不佳,速度較慢。

緩存流,一次會讀取很多的數據到緩存中,以後每一次讀取都是從緩存中讀取,直到緩存中數據讀取完,這樣就減少了io操作,提升了速度。就像拿碗吃飯一樣,碗就相當於是緩存,不用吃每一口飯就向鍋裏盛。

分類

緩沖流分為字節和字符緩沖流

字節緩沖流為: BufferedInputStream—字節輸入緩沖流 BufferedOutputStream—字節輸出緩沖流 字符緩沖流為: BufferedReader—字符輸入緩沖流 BufferedWriter—字符輸出緩沖流

使用BufferedReader字符輸入緩沖流和PrintWriter讀取和寫入文件

註意:緩存流必需要建立在一個已存在流的基礎上

readline()讀取一行,遇到回車(\r)或者換行符(\n)才會返回讀取結果,這就是“讀取一行的意思”

public static void main(String[] args) {
        File file = new File("D:\\lolfilder\\lol.exe\\bufferdemo.txt");
        File file1 = new File("D:\\lolfilder\\lol.exe\\bufferdemo1.txt");
        
try(//創建字符輸入流 //創建緩存流,緩存流必需建立在一個字符流基礎上 FileReader fr=new FileReader(file); BufferedReader br = new BufferedReader(fr); //輸出流與緩存流 FileWriter fw = new FileWriter(file1); PrintWriter pw = new PrintWriter(fw); ) {
//readline()讀取一行,遇到回車(\r)或者換行符(\n)才會返回讀取結果,這就是“讀取一行的意思” String line = br.readLine(); System.out.println(line); //寫入 pw.println("這是緩存流寫入的結果第一行"); pw.flush(); pw.println("這是緩存流寫入的結果第二行"); } catch (Exception e) { e.printStackTrace(); } }

I/O————緩存流