之间有什么区别吗?
DocumentBuilder.parse(InputStream)
和DocumentBuilder.parse(InputSource)
? 我只能发现,对于第一种情况,解析器检测流中的编码,因此它更安全,而在后者中我不确定是否需要设置编码。
我应该知道其他任何要点(例如演出)?
答案 0 :(得分:4)
主要区别在于,第一个允许您根据InputStream
接口的实现,仅从二进制源读取XML内容。即:直接来自文件(使用FileInputStream
),打开套接字(来自Socket.getInputStream()
)等。
第二个DocumentBuilder.parse(InputSource)
允许您从二进制来源读取数据(这是InputStream
impl)和来自角色来源({{3}实现)。因此,使用此字符串,您可以使用XML字符串(使用StringReader
)或Reader
。
虽然使用第二种方法你已经有机会处理InputStreams
,但第一种方法是一种快捷方式,所以当你有一个InputStream
时,你不需要创建一个新的{ {1}}。实际上,InputSource
方法的源代码是:
InputStream