Java中的緩衝流詳解

  緩衝流加強了讀寫文件的能力,好比Student.txt是一個學生的名單,每一個姓名佔一行。若是咱們想要讀取名字,那麼每次必須讀取一行,使用FileReader流很難完成這樣的任務,由於咱們不清楚一行有多少字符,FileReader類沒有提供讀取一行的方法。java

  1BufferedReaderBufferedWriter類建立的對象稱做緩衝輸入、輸出流。兩者的源和目的地必須是字符輸入流和字符輸出流。數組

  構造方法:spa

  BufferedReader(Reader in);對象

  BufferedWriter (Writer out);blog

  2BufferedReaderBufferedWriter類讀寫文件的方法:字符串

  readLine() BufferedReader流讀取文本行get

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

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

  示例io

  建立主類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/

相關文章
相關標籤/搜索