Java - закрытие XStream соединения с файлом

Я загружаю свой XML следующим образом:

File f = new File("Results\\" + filename);
xstream.fromXML(f);
Boolean delete = f.delete();

После успешного использования XStream я хочу удалить файл. Я не могу этого сделать, потому что XStream все еще открыт и поэтому мой файл не может быть удален. Как закрыть соединение и удалить файл?

1 ответ

File file = new File(...);
try (InputStream inputStream = new FileInputStream(file)) {
 ...
 xstream.fromXML(file);
 ...
} catch (Exception e) {
 log.debug(e);
} finally {
 inputStream.close();
}

Если выбрано исключение, inpuStream будет закрыт правильно. И если все будет хорошо работать - InputStream будет закрыт внутри блока finally.

licensed under cc by-sa 3.0 with attribution.