8

StAX によると、XMLEventReader、XMLEventWriter、XMLStreamReader、XMLStreamWriter API の close() メソッドは、下位のリソースをクローズしません。したがって、このコード

XMLInputFactory xf = XMLInputFactory.newInstance();
XMLStreamReader xr = xf.createXMLStreamReader(new FileInputStream("1.xml"));
...
xr.close();

これは一見安全に見えますが、リソース リークが発生します。

基になるリソースを閉じないことが役立つユースケースを知っている人はいますか?

4

1 に答える 1

9

頭に浮かぶのはソケットベースの通信で、複数の XML ドキュメントが送受信され、基になるストリームを閉じるとソケットが閉じられます。

于 2013-05-11T07:28:05.700 に答える