2010-02-07 20 views
0

我有一個問題,請指引我:)我如何處理FileWriter中的這個錯誤?

我寫這個方法:

public void createTempFile() throws Exception{ 
       //CHTYPE & FINAL are Vector 
       File file = File.createTempFile("Temp", ".txt", new File(System.getProperty("user.dir"))); 
       file.deleteOnExit(); 
       FileWriter fw = new java.io.FileWriter(file); 
       for (String aContent : CHTYPE) fw.write(aContent + "\n"); 
       fw.close(); 
       traffic tr = new traffic(file); 
       for (int i = 0; i < tr.result.size(); i++) 
        FINAL.add(tr.result.get(i)); 
       getEHRACT(); //Calculating in some integer & some Double 
     } 
當我運行在IDE這種方法

(IntelliJ IDEA的),它的正常運行,這條線

後臨時文件刪除
file.deleteOnExit(); 

,但是當我把我的應用程序作爲一個jar文件這個文件不會刪除,直到我離開我的應用程序和一些計算不執行:(爲什麼?

請幫助我,謝謝...

回答

4

您的文件不會被刪除,直到您的應用程序退出,因爲......這就是你告訴它做的。如果您想立即刪除文件,則使用delete方法。

+0

謝謝親愛的喬納森·範伯格我的問題固定... – Freeman 2010-02-07 17:06:25

0

「從VM退出」的「的OnExit」的一部分手段,而不是「從我的函數退出」或任何