1. 程式人生 > >Java中使用deleteOnExit()刪除臨時檔案出現的問題

Java中使用deleteOnExit()刪除臨時檔案出現的問題

       這幾天在做一個讀取外部系統檔案資料的任務,需要把外部檔案資料,讀到本地進行處理。

       剛好,Java中可以建立臨時檔案,並且任務中要求需要刪除臨時檔案,通過查詢API,Java的File類中有createTempFile(),可以建立臨時檔案,而deleteOnExit()可以在系統退出時刪除臨時檔案。下面是API的介紹:

        但是實際中使用deleteOnExit()出現了未刪除臨時檔案的情況,執行幾次都是沒有刪除,經過一番百度瞭解,原來是在程式結束時,JVM未必退出,造成deleteOnExit()沒有觸發。最後,解決辦法是使用delete()方法,這個方法可以達到刪除檔案的需求,雖然並不是在程式結束時,而是一呼叫就刪除,也可以,只要能達到刪除臨時檔案的目的就沒問題。