2

我正在开发一个具有 JTextArea 供用户输入文本的 Java 应用程序。它可以是任意数量的行,但是我的 FileWriter 遇到了问题,它只保存任何输入的第一行。我以前从未使用过 Swing 或 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();
            }
        }
    }

谢谢!

4

2 回答 2

2

在 finally 块中关闭 FileWriter 之前尝试刷新它。.

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

我同意@Yishai ...如果可能的话,请使用详细信息功能。这将帮助其他人回答它。

于 2011-02-11T03:06:40.813 回答
0

像这样使用构造函数: FileWriter writer = new FileWriter("lastsavedfilee.txt",true);

于 2011-02-10T19:48:37.767 回答