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