Как удалить файл после разбора XML выдал ошибку в Java? - PullRequest
1 голос
/ 15 апреля 2011

У меня есть фрагмент кода, который выглядит следующим образом

File file = null;
try {

file = new file (filePath);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
// Do Stuff

} finally {

        if ( file.exists() ){
            file.delete();
        }
}

Однако, если при синтаксическом анализе XML возникает ошибка, файл не удаляется.Есть ли способ исправить это, чтобы гарантировать удаление файла?

1 Ответ

2 голосов
/ 15 апреля 2011

Бьюсь об заклад, это под Windows.

Под Windows вы не можете удалить открытый файл, и db.parse () открывает файл для чтения.Пересмотрите, можете ли вы передать InputStream, который вы несете ответственность за закрытие, а затем вы можете удалить файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...