1. ホーム
  2. java

[解決済み] ファイルライターがファイルを最後に追加せず、上書きしてしまう問題

2022-02-14 01:36:08

質問事項

テキストファイルに複数行を書き込むのに問題があります。

プログラムは実行されるが、毎回新しい行を使用しない

4回実行させる場合、テキストファイルは次のようになります。

a
b
c
d

の代わりに、次のようになります。

d

この問題を解決する方法を知っている人はいますか? すべてのインポートが正しくインポートされています。

のソース(少し編集されていますが、すべて適切に定義されていると仮定します)をご覧ください。

import java.io.*;
public class Compiler {
public static void main (String args[]) throws IOException
{
    //there's lots of code here
    BufferedWriter outStream= new BufferedWriter(new FileWriter("output.txt"));
    outStream.newLine();
    outStream.write(output);
    outStream.close();
}

}

解決方法は?

のインスタンスを作成する際に、必ず FileWriter のように、末尾に追加することです。 これを行うには この特定 FileWriter コンストラクタ これは、追加の boolean を第2引数として与えます。 この booleanFileWriter は、ファイルを上書きするのではなく、ファイルの末尾に追加します。

BufferedWriter outStream= new BufferedWriter(new FileWriter("encoded.txt", true));