我有一个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);