File.deleteOnExit()は、JVMが時期尚早に削除されてもファイルが削除されることを保証しますか?ファイルがJVM出口で削除されるようにする
5
A
答えて
4
Java言語仕様で定義されて削除は、唯一の仮想マシンの正常終了のために試行される
可能であれば番号次回起動時にファイルを確認してください。
4
Tim Benderのメモによると、File.deleteOnExit()
はファイルが実際に削除されることを保証しません。
しかし、LinuxやOSXなどのUnixシステムでは、のテンポラリファイルを削除することができます(を開く前に)。たとえファイルがディレクトリツリーに存在しなくても、ファイルに開かれたディスクリプタを保持していれば、ファイルの読み書きを続けることができます。また、OSは自動的にファイルが使用するスペースを解放します。プログラムは終了します(または最後の記述子をファイルに閉じます)。
これは、ファイルシステムのセマンティクスが異なり、開いているファイルを削除できないWindowsでは機能しません。しかし、移植可能なコードでは、あなたは単にそれが成功しない場合、deleteOnExit()
に頼る、それを開いた後、ファイルを削除しようとすることができます、どうやら、File.deleteOnExit()
はWindows上で非常に信頼性がない
File tempFile = File.createTempFile("tempfile", ".tmp");
RandomAccessFile fh = new RandomAccessFile (tempFile, "rw");
// try to delete the file now, fall back to deletion on exit
if (!tempFile.delete()) tempFile.deleteOnExit();
注こと。したがって、可能であれば、手動で終了して一時ファイルを閉じて削除するようにしてください。詳細はthis answer I wrote to another questionをご覧ください。
関連する問題
- 1. オブジェクトを削除するCoreDataGeneratedAccessorsが削除されていないようです
- 2. 関連する* .pyファイルが削除されたときに* .pycファイルが削除される理由
- 3. 削除されたファイルからPyDevデバッガブレークポイントを削除するにはどうすればよいですか?
- 4. Pythonでロックされたファイルを検出して削除する
- 5. ファイルが削除されないようにファイルを保存する方法 - Tiny Towerのように
- 6. マーカーが削除されたときにInfoWindowを削除するにはどうすればよいですか?
- 7. リモートブランチが削除されたときにローカルリモートトラッキングブランチを削除するにはどうすればよいですか?
- 8. ディスクからファイルを削除せずにファイルを削除するにはどうすればよいですか?
- 9. 予期しないbash出口での作成された一時ファイルの削除
- 10. レコードが削除されたときにファイルを削除する方法は?
- 11. MacOS X:アプリが削除されたときにplistファイルを削除する
- 12. Linuxで削除されたファイルを取り出す方法CentOS
- 13. ユーザーが削除されたときにゲームを削除する
- 14. ファイルにデータストアを削除するにはどうすればよいですか?
- 15. 最後のフォームが削除されないようにするにはどうすればよいですか?
- 16. コミットが決して削除されないようにするにはどうすればよいですか?
- 17. iPhoneでUITableViewセルが削除されないようにする方法
- 18. jnlpが64ビットjvmで実行されるようにする方法
- 19. 削除されたファイルは削除されません
- 20. プログラムで削除されたファイルを検出する方法は? Team Foundationので
- 21. Ajaxで呼び出されたdivを削除するには
- 22. JVMにロードした後の一時ファイルの削除
- 23. MSBが削除/復元されるようにバイト値を変換する
- 24. アフターセーブフックでバックアップバッファを呼び出すと元のファイルが削除されます
- 25. QtのdeleteChildren()中に子が削除されないようにするには?
- 26. catchポインタの内容がキャッチブロックに渡されている間に削除されているようです
- 27. アプリケーションを更新するとファイルが削除されますか?
- 28. 更新クエリでメモフィールドが削除されているようです
- 29. テスト反復中にデータベースが削除されないようにする
- 30. アプリケーションを削除するとドキュメントフォルダが削除されますか?
これは素晴らしいです – alex