Javaで作成した一時ファイルを終了時に削除する

java
この記事は約2分で読めます。

Javaのjava.nio.file.Filesで作った一時ファイルをプログラム終了時に削除するのにFilesクラスにそれ用のAPIがあるかと思っていたけどなかったので以下のようにして対応した。

File#deleteOnExit

FileのAPIを使う方法。

shutdown-hook

シャットダウンフックを使う方法。

StandardOption.DELETE_ON_CLOSE

こちらはcloseメソッドが呼ばれた時に削除されるらしい。以下ドキュメントの引用。

閉じるときに削除します。このオプションがある場合、実装はファイルが適切な close メソッドによって閉じられるときに、ベストエフォートでファイルを削除しようとします。close メソッドが呼び出された場合、Java 仮想マシンの終了 (『Java 言語仕様』の定義どおりに正常終了か、可能な場合は異常終了) 時にファイルを削除するためのベストエフォートの試みが行われます。

参考リンク

改訂2版 パーフェクトJava

改訂2版 パーフェクトJava

posted with amazlet at 16.11.26
井上 誠一郎 永井 雅人
技術評論社
売り上げランキング: 46,819

コメント

タイトルとURLをコピーしました