如何在FileWriter中处理此错误?

时间:2010-02-07 16:29:11

标签: java file 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文件时,这个文件不会删除,直到我退出我的应用程序并且某些计算没有执行:(为什么?

请帮助我谢谢......

2 个答案:

答案 0 :(得分:4)

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

file.delete();

答案 1 :(得分:0)

“OnExit”部分表示“退出VM”,而不是“退出我的功能”或其他