關於java下的明確編碼方式的文件讀寫操作總結

在java下主要通過file類來對文件進行操作!

一、創建文件

//創建一個文件對象,如:

File f1=new File("E:\\test.txt");

 

二、文件操作

        說實話,在java下讀寫文件的諸如PrintWriter、FileWriter、FileInputStream之類的IO流非常之多,初看之下確實會讓人暈死!!!!!但是,根據自己的需要,選擇合適的就可以了,沒有必要全部掌握。

         其實在java下,常用的文件IO流也就FileWriter/FileReader和FileOutputWriter/FileInputReader這兩組。其中,FileWriter/FileReader是FileOutputWriter/FileInputReader的子類,二者的主要區別在於FileWriter/FileReader採用系統默認的編碼方式進行讀寫,不可以自己設置;而FileOutputWriter/FileInputReader可以在構造函數中設置讀寫的編碼方式,所以爲了保險防止出現亂碼,一般用FileOutputWriter/FileInputReader進行文件的讀寫。

             FileOutputWriter/FileInputReader是java中非常關鍵的文件IO流,它是字節流-字符流的轉換橋樑。可以用下面這張圖說明一下:

          

 

1.寫文件示例:

   File out = new File(file);

   //構造 OutputStreamWriter 實例,並設置寫入文件的編碼方式
   OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(out), Charset.forName("GBK")); 
   BufferedWriter bw = new BufferedWriter(ow); //引入BufferedWriter進行封裝是爲了提高寫文件的效率

   bw.write();   //寫入內容

   bw.newLine(); //另起一行寫

   bw.flush();   //刷新

   bw.close();  //關閉流

   值得注意的是,在new FileOutputStream(out)中,默認是覆蓋原內容地寫。如果要追加地寫文件,還需要設置一個參數:

   new FileOutputStream(out,ture) //追加寫到文件中 

2.讀文件示例:

   File out = new File(file);

   //構造 InputStreamReader 實例,並設置寫入文件的編碼方式
   InputStreamReader ir = new InputStreamReader(new FileInputStream(out), Charset.forName("GBK")); 
   BufferedReader br = new BufferedReader(ir); //引入BufferedReader進行封裝是爲了提高寫文件的效率

   String lineTxt = null; 
   while((lineTxt = bufferedReader.readLine()) != null)
  { 
     /*

    處理

    */

  } 
  br.close(); //關閉讀文件流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章