Java SAXParser – 保持InputStream打开
我有一个BufferedInputStream
,我想用SAXParser
解析XML,然后再重复使用它(例如mark(int)
& reset()
)。 但是,此流在parse()
方法中关闭。 有可能以某种方式告诉SAXParser
让它保持开放状态吗? 最后一种方法是使用不可关闭的流包装此流。
谢谢。
怎么样的:
class WontCloseBufferedInputStream extends BufferedInputStream { public void close () { // Do nothing. } public void reallyClose() { super.close (); } }
您可以将InputSource对象而不是InputStream对象传递给SAXParser
示例代码
SAXParser parser = // saxpaser object InputSource isource = new InputSource(); InputStream istream = //your inputstream isource.setByteStream(istream); parser.parse(isource, handler);