sup*_*erM 5 java xml xerces xml-parsing
我正在使用Xerces库来解析XML.以下是用于解析的代码段:
Document doc = builder.parse(new InputSource(new StringReader(someXMLString)));
我需要手动关闭InputStreamin InputSource还是parse方法处理它?
鉴于你没有外部资源 - 只需一个StringReader- 你不需要关闭它.无论如何我会这样做...然后如果你改变代码使用不同的输入,你不会意外地有资源泄漏.
(对于一次性代码,我会离开它 - 但请注意,如果你不小心,一次性代码有一个比预期更长寿的习惯.)
DocumentBuilder API 中似乎没有任何相关内容。我们可以测试它
InputStream is = new FileInputStream("test.xml") {
@Override
public void close() throws IOException {
System.out.println("close");
super.close();
}
};
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = dbf.newDocumentBuilder();
documentBuilder.parse(is);
Run Code Online (Sandbox Code Playgroud)
它打印close。但由于 API 中没有任何相关内容,因此无法保证此行为。
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |