Java中的緩沖流詳解


  緩沖流增強了讀寫文件的能力,比如Student.txt是一個學生的名單,每個姓名占一行。如果我們想要讀取名字,那么每次必須讀取一行,使用FileReader流很難完成這樣的任務,因為我們不清楚一行有多少字符,FileReader類沒有提供讀取一行的方法。

  1BufferedReaderBufferedWriter類創建的對象稱作緩沖輸入、輸出流。二者的源和目的地必須是字符輸入流和字符輸出流。

  構造方法:

  BufferedReader(Reader in);

  BufferedWriter (Writer out);

  2BufferedReaderBufferedWriter類讀寫文件的方法:

  readLine() BufferedReader流讀取文本行

  write(String s,int off,int len)BufferedWriter流把字符串s寫到文件中

  newLine(); BufferedWriter流向文件寫入一個回行符

  示例

  創建主類Demo38

  文件如下:

    同樣,保證c.txt為空內容,先從里面寫,再從外面讀

  import java.io.BufferedReader;

  import java.io.BufferedWriter;

  import java.io.File;

  import java.io.FileReader;

  import java.io.FileWriter;

  import java.io.IOException;

  public class Demo38 {

  public static void main(String[] args) {

  String[] content = {"我是中國人","我最愛祖國","我討厭日本人","我也討厭韓國人"}; //寫入字符串數組

  File file = new File("C:\\Users\\blue\\Desktop\\test\\c.txt"); //寫入目標文件

  try {

  FileWriter fw = new FileWriter(file); //第一層嵌套

  BufferedWriter bw = new BufferedWriter(fw); //傳遞給Writer的子類

  for(String str:content){ //增強for循環

  bw.write(str); //寫入字符串

  bw.newLine(); //每一個字符串還換行

  }

  bw.close(); //從上層數據關流

  fw.close();

  寫入成功 且換行成功

    //操作的輸入流對象

  FileReader fr = new FileReader(file);

  BufferedReader br = new BufferedReader(fr);

  String string = null;

  while((string = br.readLine())!= null){ //讀取數組,到達文件尾部就是空

  System.out.println(string);

  }

  br.close();

  fr.close();

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  }

  運行結果

 

原文鏈接:http://www.maiziedu.com/wiki/java/buffered/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM