Java的File類中有兩個delete方法:delete和deleteOnExit
delete無需解釋,為直接刪除,deleteOnExit文檔解釋為:在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄。也就是說,程序運行deleteOnExit成功后,File並沒有直接刪除,而是在虛擬機正常運行結束后才會刪除。
file創建文件的另一個方法:createTempFile(在默認臨時文件目錄中創建一個空文件,使用給定前綴和后綴生成其名稱)
這兩個方法其實是對應的,使用場景是這樣的:
程序有個需求需要創建臨時文件,這個臨時文件可能作為存儲使用,但是程序運行結束后,這個文件應該就被刪除了。在哪里做刪除操作呢,需要監控程序關閉嗎,如果有很多地方可以中止程序,這個刪除操作需要都放置一份嗎?其實只要這么寫,程序結束后文件就會被自動刪除了:
File file=File.createTempFile("tmp",null);
//這里對文件進行操作
file.deleteOnExit()