В моем случае это был close (), который не выполнялся из-за необработанного исключения.
void method() throws Exception {
FileInputStream fis = new FileInputStream(fileName);
parse(fis);
fis.close();
}
Предположим, что исключение генерируется в parse (), который не обрабатывается в этом методе, и поэтому файл не закрывается, в будущем файл удаляется, и оператор delete не выполняется, и не удаляются.
Итак, вместо этого у меня был такой код, затем он работал ...
try {
parse(fis);
}
catch (Exception ex) {
fis.close();
throw ex;
}
такая базовая Java, которую мы иногда упускаем.