FileWriterを使用してファイルに書き込みを行っていますが、ファイルを(プロセス外で)削除した後でも、FileWriterが例外をスローしないことに気付きました。
これは正常ですか?
FileWriterを使用してファイルに書き込みを行っていますが、ファイルを(プロセス外で)削除した後でも、FileWriterが例外をスローしないことに気付きました。
これは正常ですか?
これは、オペレーティングシステムによって異なります。
はい、それは正常です。I / Oを実行する従来の方法のほとんどを使用して、ファイルが存在しない場合は、ファイルが作成されます。もちろん、これは、書き込みを開始する前に削除したことを保留しています。
ファイルは複数の場所に表示される可能性があります(ハードリンク付き)ファイルを削除すると、ハードリンクの1つが削除されます(おそらく唯一)。他の場所にリンクがある場合でも、ファイルにはアクセスできます。
削除されたが開いているファイルは引き続きディスク領域を占有します。十分な大きさの場合は、使用されている領域を意味し、ディスク上にあるすべてのファイルのサイズが異なります。
ところで:あなたが見ればあなたは開いているファイルの内容(削除されているかどうかにかかわらず)を読み書きすることができます/proc/{pid}/fd/{fid}