私のプログラムは現在使用しています
FileOutputStream output = new FileOutputStream("output", true);
Whileループは、出力ファイルがまだ作成されていない場合は作成し、whileループの繰り返しごとにこのファイルにデータを追加して、
output.write(data).
これで問題ありません。
プログラムをもう一度実行すると、正確な情報がファイルの末尾に追加されるため、ファイルのサイズが2倍になります。これは私が望むものではありません。プログラムを再度実行した場合、ファイルを上書きしたいと思います。
このドキュメント は、渡すパラメータがappend
パラメータであることを示唆しています。
署名は次のようになります
FileOutputStream(File file, boolean append)
追加したくないので、このパラメーターをfalse
に設定する必要があります。
FileOutputStream output = new FileOutputStream("output", false);
プログラムを再度実行した場合、ファイルを上書きしたいと思います。
appendをfalseに設定するには、2番目の引数としてfalse
を渡します。
FileOutputStream output = new FileOutputStream("output", false);
コンストラクタのドキュメント を確認してください:
2番目の引数がtrueの場合、バイトはファイルの先頭ではなく末尾に書き込まれます。
または、ファイルが存在する場合は削除して、常に作成してジョブを実行することもできます。