Нужно ли закрывать StringReader в этом случае? - PullRequest
2 голосов
/ 18 марта 2019
Document doc = DocumentBuilderFactory.newInstance().
               newDocumentBuilder().
               parse(new InputSource(new StringReader(xml)));

1 Ответ

1 голос
/ 18 марта 2019

StringReader extends Reader, который реализует Closeable.
Однако, просто взглянув на исходный код, вы увидите, что он в основном не имеет значения

public void close() {
    str = null;
}

InputSourceне реализует Closeable или AutoCloseable, это означает, что все еще Reader обязан закрыть себя.Другая реализация Reader может потребовать, однако, чтобы она была закрыта как стандартная.

Тот, который действительно может потребовать закрытия, - это FileReader, что также приемлемо для InputSource.

...