Как я могу обработать эту ошибку в FileWriter? - PullRequest
0 голосов
/ 07 февраля 2010

У меня есть проблема, пожалуйста, направьте меня:)

Я пишу этот метод:

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 ]

4 голосов
/ 07 февраля 2010

Ваш файл не будет удален, пока приложение не закроется, потому что ... это то, что вы сказали ему делать. Если вы хотите сразу удалить файл, используйте метод delete.

file.delete();
0 голосов
/ 07 февраля 2010

Часть «OnExit» означает «при выходе из ВМ», а не «при выходе из моей функции» или что-то еще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...