FileOutputStream fos
別のスレッドでデバッグファイルを作成/追加して書き込むために使用します。
fos = new FileOutputStream(outputFile, true);
if (!outputFile.exists()) {
outputFile.createNewFile();
}
fos.write(string.getBytes());
このコードはループ内で呼び出され続けますが、ユーザーはいつでも別のスレッドからファイルをクリアまたは削除して、デバッグ出力のログを新たに記録し始めることができます。
今、ファイルが削除されているときに、このコードが例外を発生させずに実行されることに本当に驚いていますが、何も起こりません。つまり、ファイルは再作成されておらず、何も書き込まれていません。すべての「書き込み」が失われるだけです。
fos.write
毎回呼び出す前に、その間にファイルが削除されたかどうかを常に手動で確認する必要がありますか?
例外が期待どおりに機能する場合、つまり、削除されたファイルに書き込む場合は、より簡単でクリーンになります。