В своем приложении я пишу файл для хранения некоторой информации о выполнении, и после завершения выполнения я хочу удалить временный файл. Проблема в том, что даже после закрытия файла или очистки потоками я не могу удалить файл. Я старался
Thread.sleep(1000);
file.delete();
и это тоже не удалило файл. Затем я создал цикл while
while(!file.delete())
Thread.sleep(1000);
и это зацикливалось навсегда. Затем я добавил
System.gc();
file.delete();
и это сработало!!!
Я убедился, что корректно закрыл или сбросил файл. Я хочу знать, почему мой код работал с System.gc()
?
scala.compat.Platform.collectGarbage()
. - person Epicurist   schedule 18.08.2014