Java的File類中有兩個delete方法:delete和deleteOnExitspa
delete無需解釋,爲直接刪除,deleteOnExit文檔解釋爲:在虛擬機終止時,請求刪除此抽象路徑名錶示的文件或目錄。也就是說,程序運行deleteOnExit成功後,File並無直接刪除,而是在虛擬機正常運行結束後纔會刪除。 文檔
file建立文件的另外一個方法:createTempFile(在默認臨時文件目錄中建立一個空文件,使用給定前綴和後綴生成其名稱)虛擬機
這兩個方法實際上是對應的,使用場景是這樣的:it
程序有個需求須要建立臨時文件,這個臨時文件可能做爲存儲使用,可是程序運行結束後,這個文件應該就被刪除了。在哪裏作刪除操做呢,須要監控程序關閉嗎,若是有不少地方能夠停止程序,這個刪除操做須要都放置一份嗎?其實只要這麼寫,程序結束後文件就會被自動刪除了:監控
File file=File.createTempFile("tmp",null);
//這裏對文件進行操做
file.deleteOnExit()