1. 程式人生 > 其它 >10.檔案字元緩衝流

10.檔案字元緩衝流

1.檔案字元緩衝流-字元緩衝輸入流

這裡使用的 BufferedReade 字元緩衝輸入流來提高讀寫效率,對於字元來說,是通過一行一行讀取的 readLine()

import java.io.BufferedReader;
import java.io.FileReader;

public class Dome07 {
   public static void main(String[] args) {
       FileReader fr = null;
       BufferedReader br = null;
       try {
           fr = new FileReader("d:/a.txt");//建立檔案字元輸入流物件
           br = new BufferedReader(fr);//建立檔案字元緩衝輸入流物件
           String temp = "";
           while ((temp = br.readLine())!=null){
               System.out.println(temp);
          }
      }catch (Exception e){
           e.printStackTrace();
      }finally {
           try {
               if (br!=null){
                   br.close();
              }
               if (fr!=null){
                   fr.close();
              }
          }catch (Exception e){
               e.printStackTrace();
          }
      }
  }
}

 

2.檔案字元緩衝流-字元緩衝輸出流

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

public class Dome08 {
   public static void main(String[] args) {
       FileWriter fw = null;
       BufferedWriter bw = null;
       try {
           fw = new FileWriter("d:/c.txt");//建立檔案字元輸出流物件
           bw = new BufferedWriter(fw);//建立檔案字元緩衝輸出流物件
           
           bw.write("123");
           bw.newLine();//換行
           bw.write("456");
           
           bw.flush();
           
      }catch (Exception e){
           e.printStackTrace();
      }finally {
           try {
               if (bw!=null){
                   bw.close();
              }
               if (fw!=null){
                   fw.close();
              }
          }catch (Exception e){
               e.printStackTrace();
          }
      }
  }
}

 

3.基於字元緩衝流的文字檔案拷貝工具類

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

public class Dome09 {
   public static void main(String[] args) {
       copyText("d:/a.txt","d:/b.txt");
  }
   public static void copyText(String src,String des){
       BufferedReader br = null;
       BufferedWriter bw = null;

       try {
           br = new BufferedReader(new FileReader(src));
           bw = new BufferedWriter(new FileWriter(des));

           String temp = "";
           while ((temp = br.readLine())!=null){
               bw.write(temp);
               bw.newLine();//換行處理,由於這裡是讀一行,寫一行,所有進行換行一下比較好
          }
           bw.flush();
      }catch (Exception e){
           e.printStackTrace();
      }finally {
           try {
               if (br!=null){
                   br.close();
              }
               if (bw!=null){
                   bw.close();
              }
          }catch (Exception e){
               e.printStackTrace();
          }
      }
  }
}