I/O————緩存流
阿新 • • 發佈:2019-05-04
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————緩存流