如何使用DocumentBuilder解析BufferedInputStream而不关闭流?

时间:2013-08-13 18:33:13

标签: java xml dom

我有一个BufferedInputStream代表和XML文件,但我不确定架构是什么。所以,我想要做的是解析XML,探索DOM以确定动态的XML格式/模式,然后reset()流,然后将流传递给适当的解析库。

但是,似乎DocumentBuilder正在为我关闭BufferedInputStream。我该如何防止这种情况?有没有一种API方法来阻止这种情况?

1 个答案:

答案 0 :(得分:0)

这是我能想到的最好的:

  1. decorate我的'真实'BufferedInputStream,其实现不会将close()命令传播到'真实'BufferedInputStream(但会传播所有其他方法)
  2. 将装饰好的BufferedInputStream传递给DocumentBuilder
  3. reset()我的'真实'BufferedInputStream
  4. close()当我准备好时,“真实”。
  5. 更好的答案欢迎,因为我宁愿通过API而不是通过这个。