В моем приложении Я пишу файл для хранения информации о выполнении, и после выполнения выполнения я хочу удалить временный файл. Проблема даже после закрытия файла или потока потоками я не могу удалить файл. Я пробовалФайл Java delete и System.gc()
Thread.sleep(1000);
file.delete();
, и это также не удаляло файл. Затем я создал петлю while
while(!file.delete())
Thread.sleep(1000);
и это было зацикливание навсегда. Затем я добавил
System.gc();
file.delete();
И это сработало !!!
Я проверил, что я изящно закрыл или сбросил файл. Я хочу знать, почему мой код работал с System.gc()
?
Перед попыткой удалить файл убедитесь, что вы закрыли все открытые потоки файлов. – mre
Это все еще так. Это ошибка, связанная с Windows JDK-4715154. Вероятно, поэтому в библиотеке времени Scala есть специальная запись 'scala.compat.Platform.collectGarbage()'). – Epicurist