字符流緩沖區的使用之BufferedWriter和BufferedReader


從字符輸入流中讀取文本,緩沖各個字符,從而實現字符、數組和行的高效讀取,代碼中使用了輸入緩沖區的特有的方法:readLine(),獲取一行文本數據

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderDemo {

 /**
  * @param args
  * @throws IOException 
  */
 public static void main(String[] args) throws IOException {

  FileReader fr=new FileReader("Demo.txt");
     BufferedReader bufr=new BufferedReader(fr);
     String line=null;
     while((line=bufr.readLine())!=null){
      System.out.println(line);
     }
 }

 public static void demo() throws FileNotFoundException, IOException {//此方法是不使用緩沖區的常規方法
  FileReader fr=new FileReader("Demo.txt");
  char buf[]=new char[1024];
  int len=0;
  while((len=fr.read(buf))!=-1){
   System.out.println(new String(buf,0,len));
  }
 }

}

將文本寫入字符輸出流,緩沖各個字符,從而實現字符、數組和字符串的高效讀取,代碼中使用了輸入緩沖區的特有的方法:nextLine(), 寫入一個行分隔符。

package IODemo;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterDemo {

 private static final String SEPARATOR = System.getProperty("line.separator");

 /**
  * @param args
  * @throws IOException 
  */
 /*
  * 為了提高寫入的效率,使用了字符流的緩沖區
  * 創建了一個字符寫入流的緩沖區對象,並要和指定的被緩沖的對象
  * 相關聯
  */
 public static void main(String[] args) throws IOException {

  FileWriter fw=new FileWriter("Demo2.txt");
  BufferedWriter bufw=new BufferedWriter(fw);
  //使用緩沖區的方法將數據寫入到緩沖區匯總
  bufw.write("abc0"+SEPARATOR+"abc4");
//  bufw.newLine();
  bufw.write("abc1");
//  bufw.newLine();
  bufw.write("abc2");
  for(int i=1;i<=4;i++){
   bufw.write("Java"+i);
   //使用緩沖區的刷新方法將數據刷新到目的地
   bufw.flush();
  }
  //關閉緩沖區,其實關閉的就是被緩沖的流對象
  bufw.close();
 }

}

 


免責聲明!

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



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