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