在这种情况下是否需要关闭StringReader?

时间:2019-03-18 14:48:18

标签: java xml document stringreader

Document doc = DocumentBuilderFactory.newInstance().
               newDocumentBuilder().
               parse(new InputSource(new StringReader(xml)));

1 个答案:

答案 0 :(得分:1)

StringReader扩展了Reader,该实现实现了Closeable
但是,仅通过查看源代码,您就可以知道它的作用基本上是不相关的

public void close() {
    str = null;
}

InputSource未实现CloseableAutoCloseable,这意味着Reader仍然有责任自行关闭。 Reader的另一种实现可能需要这样做,因此请按标准关闭它。

可能真正需要关闭的是FileReaderInputSource也可以接受。