我目前有一個tomcat webapp,當JVM正在關閉時需要刪除文件。我創建了一個自定義的ContextLoaderListener來處理contextDestroyed事件。在這裏我調用相應文件的deleteOnExit。但是,自從jdk 1.6.0_14我無法刪除OnExit。谷歌搜索表示有一個預期的變化,但我沒有看到這方面的工作。有人有主意嗎?DeleteOnExit jvm shutdown
下面的代碼不起作用。
for(File f : myFileList)
try{
f.deleteOnExit()
} finally {
f.delete()
}
無論虛擬機正常終止,是否發生這種情況?另外,請確保關閉文件上的所有句柄。 – mre
請注意,當您創建文件時,通常會調用File.deleteOnExit,而不是在關閉處理程序中。重點是,當系統退出時(請按順序)請求刪除文件。 – sudocode
deleteOnExit是不好的,泄漏,甚至可能會刪除一個不同於你預期的文件。總之:不要使用它。 (並且'finally'部分大量刪除文件,你不會得到更好的結果) – bestsss