0

我有问题请指导我:)

我写这个方法:

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

2 回答 2

4

在您的应用程序退出之前,您的文件不会被删除,因为......这就是您告诉它要做的事情。如果要立即删除文件,则使用其delete方法。

file.delete();
于 2010-02-07T16:36:43.510 回答
0

“OnExit”部分的意思是“退出虚拟机”,而不是“退出我的功能”或其他什么

于 2010-02-07T16:45:31.963 回答