模块 java.xml

类 InputSource

java.lang.Object
org.xml.sax.InputSource

public class InputSource extends Object
XML 实体的单个输入源。

此类允许 SAX 应用程序将有关输入源的信息封装在单个对象中,该对象可能包括公共标识符、系统标识符、字节流(可能具有指定的编码)和/或字符流。

应用程序可以在两个地方将输入源传递给解析器:作为 Parser.parse 方法的参数,或作为 EntityResolver.resolveEntity 方法的返回值。

SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入。如果有可用的字符流,解析器将直接读取该流,而忽略在该流中找到的任何文本编码声明。如果没有字符流,但有字节流,解析器将使用该字节流,使用 InputSource 中指定的编码,否则(如果未指定编码)使用算法自动检测字符编码,例如XML 规范。如果字符流和字节流都不可用,解析器将尝试打开一个 URI 连接到由系统标识符标识的资源。

InputSource 对象属于应用程序:SAX 解析器永远不会以任何方式修改它(如果需要,它可能会修改副本)。但是,字节流和字符流的标准处理是将它们作为解析结束清理的一部分关闭,因此应用程序不应在将此类流交给解析器后尝试重新使用它们。

自从:
1.4, SAX 1.0
参见: