2011-02-10 85 views
2

我正在研究一個具有JTextArea的Java應用程序,供用戶輸入文本。它可以是任何數量的行,但是我遇到了我的FileWriter問題,它只保存任何輸入的第一行。我從來沒有使用Swing或FileWriter的前可言,所以我可能會得到這個非常錯誤的,但這裏是我的代碼:Java FileWriter只寫第一行

FileWriter fw = null; 
    try { 
     fw = new FileWriter(lastSavedFile); 
     details.write(fw); 
    } catch (IOException exception) { 
     System.err.println("Error saving file"); 
     exception.printStackTrace(); 
    } finally { 
     if (fw != null) { 
      try { 
       fw.close(); 
      } catch (IOException exception) { 
       System.err.println("Error closing writer"); 
       exception.printStackTrace(); 
      } 
     } 
    } 

謝謝!

+2

什麼是「細節」功能呢?問題可能在那裏...... – chahuistle 2011-02-10 20:36:03

+2

整個解決方案都在詳細參考的類中(不能從代碼段中確定)。 – Yishai 2011-02-10 22:54:08

回答

2

嘗試在關閉它在finally塊之前刷新FileWriter。 。

. 
if (fw != null) 
{ 
    try 
    { 
     fw.flush(); 
     fw.close(); 
    } catch (IOException exception) 
    { 
     System.err.println("Error closing writer"); 
     exception.printStackTrace(); 
    } 
} 
. 
. 

我同意@Yishai ...如果可能的話再給細節函數使用。這將有助於他人回答。

0

使用這樣的構造函數: FileWriter writer = new FileWriter(「lastsavedfilee.txt」,true);