java.lang.Object
javax.xml.transform.stream.StreamSource
- 所有已实现的接口:
Source
以 XML 标记流的形式充当转换源的持有者。
Note: 由于它们在内部使用 Reader
或 InputStream
实例,StreamSource
实例只能使用一次。
- 自从:
- 1.4
-
字段摘要
字段修饰符和类型Field描述static final String
如果TransformerFactory.getFeature(java.lang.String)
在将此值作为参数传递时返回 true,则 Transformer 支持此类型的源输入。 -
构造方法总结
构造方法构造方法描述零参数默认构造方法。StreamSource
(File f) 从文件构造 StreamSource。StreamSource
(InputStream inputStream) 从字节流构造 StreamSource。StreamSource
(InputStream inputStream, String systemId) 从字节流构造 StreamSource。StreamSource
(Reader reader) 从字符阅读器构建 StreamSource。StreamSource
(Reader reader, String systemId) 从字符阅读器构建 StreamSource。StreamSource
(String systemId) 从 URL 构建 StreamSource。 -
方法总结
修饰符和类型方法描述获取使用 setByteStream 设置的字节流。获取使用 setPublicId 设置的公共标识符。获取用 setReader 设置的字符流。获取使用 setSystemId 设置的系统标识符。boolean
isEmpty()
指示StreamSource
对象是否为空。void
setInputStream
(InputStream inputStream) 设置要用作输入的字节流。void
setPublicId
(String publicId) 设置此源的公共标识符。void
将输入设置为字符阅读器。void
setSystemId
(File f) 从文件引用设置系统 ID。void
setSystemId
(String systemId) 为此源设置系统标识符。
-
字段详细信息
-
FEATURE
如果TransformerFactory.getFeature(java.lang.String)
在将此值作为参数传递时返回 true,则 Transformer 支持此类型的源输入。- 参见:
-
-
构造方法详细信息
-
StreamSource
public StreamSource()零参数默认构造函数。如果使用此构造函数,并且没有使用
setInputStream(java.io.InputStream inputStream)
或setReader(java.io.Reader reader)
设置流源,则Transformer
将使用new InputStream()
创建一个空源InputStream
。- 参见:
-
StreamSource
从字节流构造 StreamSource。通常,应该使用流而不是阅读器,这样 XML 解析器就可以解析 XML 声明指定的字符编码。如果此构造方法用于处理样式表,通常还应调用 setSystemId,以便解析相对 URI 引用。
- 参数:
inputStream
- 对 XML 流的有效 InputStream 引用。
-
StreamSource
从字节流构造 StreamSource。通常,应该使用流而不是读取器,以便 XML 解析器可以解析 XML 声明指定的字符编码。除了输入流之外,此构造方法还允许设置 systemID,从而允许处理相对 URI。
- 参数:
inputStream
- 对 XML 流的有效 InputStream 引用。systemId
- 必须是符合 URI 语法的字符串。
-
StreamSource
从字符阅读器构建 StreamSource。通常,应该使用流而不是读取器,以便 XML 解析器可以解析 XML 声明指定的字符编码。然而,在许多情况下,输入流的编码已经解决,就像从 StringReader 读取 XML 的情况一样。- 参数:
reader
- 对 XML 字符流的有效 Reader 引用。
-
StreamSource
从字符阅读器构建 StreamSource。通常,应该使用流而不是读取器,以便 XML 解析器可以解析 XML 声明指定的字符编码。然而,在许多情况下,输入流的编码已经解决,就像从 StringReader 读取 XML 的情况一样。- 参数:
reader
- 对 XML 字符流的有效 Reader 引用。systemId
- 必须是符合 URI 语法的字符串。
-
StreamSource
从 URL 构建 StreamSource。- 参数:
systemId
- 必须是符合 URI 语法的字符串。
-
StreamSource
从文件构造 StreamSource。- 参数:
f
- 必须是非空文件引用。
-
-
方法详情
-
setInputStream
设置要用作输入的字节流。通常,应该使用流而不是读取器,以便 XML 解析器可以解析 XML 声明指定的字符编码。如果此 Source 对象用于处理样式表,通常还应调用 setSystemId,以便解析相对 URL 引用。
- 参数:
inputStream
- 对 XML 流的有效 InputStream 引用。
-
getInputStream
获取使用 setByteStream 设置的字节流。- 返回:
- 使用 setByteStream 设置的字节流,如果未调用 setByteStream 或 ByteStream 构造方法,则为 null。
-
setReader
将输入设置为字符阅读器。通常,应该使用流而不是读取器,以便 XML 解析器可以解析 XML 声明指定的字符编码。然而,在许多情况下,输入流的编码已经解决,就像从 StringReader 读取 XML 的情况一样。- 参数:
reader
- 对 XML CharacterStream 的有效 Reader 引用。
-
getReader
获取用 setReader 设置的字符流。- 返回:
- 使用 setReader 设置的字符流,如果未调用 setReader 或 Reader 构造方法,则为 null。
-
setPublicId
设置此源的公共标识符。公共标识符始终是可选的:如果应用程序编写者包含一个公共标识符,它将作为位置信息的一部分提供。
- 参数:
publicId
- 作为字符串的公共标识符。
-
getPublicId
获取使用 setPublicId 设置的公共标识符。- 返回:
- 使用 setPublicId 设置的公共标识符,如果未调用 setPublicId,则为 null。
-
setSystemId
为此源设置系统标识符。如果有字节流或字符流,系统标识符是可选的,但提供一个系统标识符仍然有用,因为应用程序可以使用它来解析相对 URI,并可以将其包含在错误消息和警告中(解析器将尝试仅当未指定字节流或字符流时才打开到 URI 的连接)。
- 指定者:
setSystemId
在接口Source
中- 参数:
systemId
- 作为 URL 字符串的系统标识符。
-
getSystemId
获取使用 setSystemId 设置的系统标识符。- 指定者:
getSystemId
在接口Source
中- 返回:
- 使用 setSystemId 设置的系统标识符,如果未调用 setSystemId,则为 null。
-
setSystemId
从文件引用设置系统 ID。- 参数:
f
- 必须是非空文件引用。
-
isEmpty
public boolean isEmpty()指示StreamSource
对象是否为空。空定义如下:- 所有输入源,包括公共标识符、系统标识符、字节流和字符流,都是
null
。 - 公共标识符和系统标识符是
null
,字节流和字符流要么是null
要么不包含字节或字符。请注意,如果提供了字节流,此方法将重置字节流,如果未提供字节流,则重置字符流。
如果在检查字节流或字符流时出错,该方法将返回 false 以允许 XML 处理器处理错误。
- 所有输入源,包括公共标识符、系统标识符、字节流和字符流,都是
-