1. 程式人生 > >IO流中以字元流讀取和寫入。

IO流中以字元流讀取和寫入。

字元流的讀取。

public static void readFileByBufferReanderLine(File file) {
  BufferedReader bufferedReader = null;
  String tempString = null;
  try {
   bufferedReader = new BufferedReader(new FileReader(file));
   while ((tempString = bufferedReader.readLine()) != null) {
    
     System.out.println(tempString)
    }

   }
  } catch (FileNotFoundException e) {      //進行讀取時需要捕獲異常。
  
   e.printStackTrace();
  } catch (IOException e) {  
   e.printStackTrace();
  } finally {
   if (bufferedReader != null) {
    try {
     bufferedReader.close();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
  }

 }

字元流的寫入

public static void writeByBufferWriter(File file, String content) {
  BufferedWriter bufferedWriter = null;
  try {
   bufferedWriter = new BufferedWriter(new PrintWriter(file));
   bufferedWriter.write(content); // 寫在流中
   bufferedWriter.flush(); // 需要衝刷到檔案種。
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   if (bufferedWriter != null) {
    try {
     bufferedWriter.close();
    } catch (IOException e) {
     e.printStackTrace();
    }

   }
  }
 }

以字元流方式寫入檔案
下面方式可以新增資料,而不刪除原來的資料

public static void writerByBufferWriter2(File file, String content) {
  BufferedWriter bufferedWriter = null;
  try {
   bufferedWriter = new BufferedWriter(new FileWriter(file, true));
   bufferedWriter.write(content);
   bufferedWriter.flush();
  } catch (IOException e) {

   e.printStackTrace();
  } finally {
   if (bufferedWriter != null) {
    try {
     bufferedWriter.close();
    } catch (IOException e) {
     e.printStackTrace();
    }

   }
  }
 }