2014-01-15 106 views
-1

我想寫一個文件,但3波紋管功能的混合物。怎麼樣?java如何打開文件寫入

  1. 的BufferedWriter,大容量數據寫入需要
  2. 可以追加到存在的文本文件
  3. 可以設置的字符集,如「cp1256」

怎麼混所有這些功能打開寫文件?

回答

0

你首先做的是,啓動你的BufferedWriter

`

String fileName = METHOD ARGUMENT, OR REGULAR STRING ("Output.txt"); 
    BufferedWriter writer = null; 
    try { 

     File outFile = new File(fileName); 

      writer = new BufferedWriter(new FileWriter(OUTPUT NAME OF THE FILE YOU ARE WRITING. , true)); 
      writer.write(WHAT YOU WANT TO WRITE TO THE FILE); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      // Close the writer regardless of what happens... 
      writer.close(); 
     } catch (Exception e) { 
     } 

我們解釋代碼,所以我不只是用勺子餵養它給你。 當我們聲明BufferedWriter writer = null;時,我們將它設置爲null,這樣我們就不會在沒有設置Try/Catch Exception Handler的情況下寫任何東西。

一旦我們處理我們的例外情況,我們啓動一個名爲outFile的File。這將是我們輸出的文件。我們給它的參數是文件名的名稱。 (A String Value,例如「Output.txt」)注意:您必須添加擴展名,否則它將無法按照您希望的方式工作。

接下來,當我們再次參考我們的BufferedWriter時,我們在try/catch處理程序中啓動一個新處理程序,並在其中啓動一個FileWriter(將寫入文件的內容)。我們給它兩個論點。輸出文件的名稱(「Output.txt」),我們還提供了一個參數true。這樣做會使文件附加!當我們寫成真的時候,我們說我們希望文件是可追加的。

最後,我們寫入文件,無論你想寫什麼。

至於第三個功能,我不認爲FileWriter的將允許你選擇你想要寫的字符編碼,所以除非你不使用UTF-8,那麼你可能想要使用一個PrintWriter

要做到這一點,你可以簡單地替換我們的`writer = new BufferedWriter(new FileWriter(輸出文件的名稱是你寫的。,true));

writer = new BufferedWriter(new PrintWriter(outputName, "UTF-8"));

我認爲這應該工作,如果沒有,請讓我知道,我會找到一個可行的解決方案。

+0

謝謝,但我怎樣才能在同一時間混合FileWriter的覆蓋標誌和PrinterWriter的字符集功能? –