JAVA高階基礎(33)---字元緩衝流
阿新 • • 發佈:2018-12-07
字元緩衝流
緩衝流:當我們在建立緩衝流的時候,會預設在系統記憶體中為當前流分配一定大小的緩衝區
字元緩衝輸入流
特殊方法:String readLine();每次讀取一行
返回值:當前行的內容,不包括終止符(\r、\n、\r\n)
字元緩衝輸出流
特殊方法:newLine(); 輸出一個行終止符 與作業系統無關
相關程式碼
package org.lanqiao.buffreader.demo; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; public class BufferedReaderDemo { public static void main(String[] args) throws IOException { //常見讀取的目標檔案 File file = new File("Notes.txt"); //建立一個位元組流 InputStream in = new FileInputStream(file); //建立字元輸入流 Reader inr = new InputStreamReader(in); //常見字元緩衝輸入流 BufferedReader br = new BufferedReader(inr); /* String line = br.readLine(); System.out.println(line); String line1 = br.readLine(); System.out.println(line1);*/ String str = ""; while((str = br.readLine() )!= null) { System.out.println(str); } } }
package org.lanqiao.buffreader.demo; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class BufferedWriterDemo { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("test.txt")))); bw.write("太原師範學院"); bw.newLine(); bw.write("太原理工大學"); bw.flush(); } }
package org.lanqiao.buffreader.demo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class BuffCopy { public static void main(String[] args) { BufferedReader br= null; BufferedWriter bw= null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Notes.txt")))); bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("notescopy.txt")))); String str = ""; while((str = br.readLine()) != null) { bw.write(str); bw.newLine(); bw.flush(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { if(br != null) { br.close(); } } catch (IOException e) { e.printStackTrace(); }finally { try { if(bw != null) { bw.close(); } } catch (IOException e) { e.printStackTrace(); } } } } }