我的程序需要臨時文件夾才能在運行時放入數據。該程序退出後不需要該數據,應該刪除。程序的每個運行實例都需要一個文件夾。啓動時刪除臨時文件
如果我使用file.deleteOnExit()
,這並不能確保文件在任何類型的崩潰時被刪除。因此,我的想法是在啓動時檢查沒有被刪除的舊臨時文件並將其刪除。但是當啓動另一個程序實例時,它不應該刪除正在運行的程序的臨時文件。我怎樣才能做到這一點?
更具體地說:臨時文件應該在系統的臨時目錄中,如果程序正常退出,應該刪除。這個問題只是該程序崩潰的幾次。該程序必須是獨立於操作系統的。使用Path
而不是File
類的解決方案是優選的。
由於代碼的設計方式,即使這是一個好主意,也不可能像在您建議的那樣在不同的窗口中從同一進程運行多個實例。 – piegames
@piegames正如我們已經討論過的,在退出時沒有可靠的方法來刪除臨時文件,所以我們必須在啓動時刪除。就我所知,擁有多個實例幾乎會使這項工作無法完成。 – Tony
該程序可以將時間戳放入臨時目錄中的文件中,並在後臺線程中每分鐘更新一次。如果時間戳早於〜5分鐘,則該文件夾可能會被新實例刪除。 – piegames