我有一个BufferedInputStream表示 XML 文件,但我不确定架构是什么。所以,我想做的是解析 XML,探索 DOM 以确定它动态的 XML 格式/模式,然后reset()是流,然后将流传递给适当的解析库。
但是,似乎正在为我DocumentBuilder关闭BufferedInputStream。我该如何防止这种情况?是否有防止这种情况的 API 方法?
这是我能想到的最好的:
BufferedInputStream用不会将close()命令传播到“真实”的实现来装饰我的“真实” BufferedInputStream(但会传播所有其他方法)BufferedInputStream给DocumentBuilder.reset()我的“真实” BufferedInputStream。close()当我准备好时,“真实”。欢迎更好的答案,因为我宁愿通过 API 来做,而不是通过这个。