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