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

最終ブロックで FileWriter を閉じる前に、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 に答える