Java Fileクラスを使ってファイルを削除する




このファイル消して大丈夫だったかな・・・?
消すと動かなくなったりしないかな・・・??
時間が経つとファイルを消すだけでも不安になったりします(; ・`д・´)
面倒でも、使い終わったら不要なファイルは消すようにしましょう♪

ファイルを削除するサンプル

2つのファイルを消します。1つはその場で消して、1つはアプリケーションが終了する際に削除を行います。
また、アプリケーションをすぐに終了させないように、20秒待っています。

実行結果

test1.txtは、アプリケーションが終了するタイミングで削除されます。(≒約20秒後に消える)
test2.txtは、アプリケーションが終了する前にすぐ削除されます。

サンプルの解説

File#delete()を使うと、ファイルを削除することができます。
こちらは、File#delete()を呼び出した瞬間にファイルを削除します。
File#deleteOnExit()も同様に、ファイルを削除することができます。
こちらの場合はアプリケーションを終了する際に、ファイルを削除します。
主に、アプリケーションで利用する一時的なワークファイルを消すために用意されています。
昔は、JavaのバグによりFile#deleteOnExit()を使ってもWindowsではうまく削除されないことがありました。
現在では、このバグは解消しているため、アプリケーションを終了する際に、正しく削除することができます。
ただし、当然ですが誰かにファイルが掴まれていたり、異常終了すれば消えません。また、削除の成功・失敗に関わらずアプリケーションは終了します。
ですので、File#deleteOnExit()は、あまり使わない方が良いかもしれません。

特定のディレクトリをまとめて消すには・・・?

Java ファイルが残っているフォルダ(ディレクトリ)を丸ごと全て削除する

2018.02.15