2011-02-10 52 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);