Метод удаления файла Java не работает должным образом - PullRequest
0 голосов
/ 29 января 2019

Мне нужно обработать тысячи файлов, но моя программа не работает после 20 файлов, за исключением «Нет свободного места».

Это мой псевдокод.

for (Task t: tasks) {
    File f = t.createTempFile()
    processing(f)
    f.delete()
}

Я проверилпапка / tmp.Файлы не удаляются.У меня выпадают волосы.Может кто-нибудь дать какие-то предложения?

PS: у него должны быть разрешения на создание файлов, поэтому у него должны быть и разрешения на удаление.

1 Ответ

0 голосов
/ 29 января 2019

Это, вероятно, потому что у вас все еще есть некоторый поток ввода или вывода в файле, и вы забыли закрыть его.
Если сама JVM (в любом потоке) все еще удерживает поток ввода или вывода в файле, этоне будет удален.
Как было сказано в комментарии выше, вы также можете проверить состояние возврата метода.

...