Java - XStream закрывает соединение с файлом - PullRequest
3 голосов
/ 17 ноября 2011

Я загружаю свой XML так:

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

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

1 Ответ

2 голосов
/ 09 декабря 2014
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.

...