public class InputSource extends Object
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
这个类允许SAX应用程序封装在一个对象的一个输入源的信息,其中可能包括一个公共标识符,系统标识符,一个字节流(可能有一个指定的编码),和/或字符流。
有两个地方,应用程序可以提供一个输入源的解析:作为论据的parser.parse方法,或者该entityresolver.resolveentity方法的返回值。
SAX解析器将使用inputsource对象来确定如何读取XML输入。如果有一个字符流,分析器将读取流直接,无视任何文本编码声明,发现小溪。如果没有字符流,但有一个字节流,解析器将使用字节流,使用编码的inputsource或其他指定的(如果没有设置编码)自动检测使用算法如XML规范中的一个字符编码。如果没有一个字符流和字节流是可用的,解析器将尝试开放资源的系统标识符标识URI连接。
一个inputsource对象属于应用:SAX解析器不会修改它以任何方式(必要时也可能会修改副本)。然而,标准处理的两个字节和字符流是关闭他们的解析清理结束的一部分,所以应用程序不应该尝试重新使用这些流后,他们已经交给了一个解析器。
| Constructor and Description |
|---|
InputSource()
零参数默认构造函数。
|
InputSource(InputStream byteStream)
创建一个新的输入源,用一个字节流。
|
InputSource(Reader characterStream)
用一个字符流创建一个新的输入源。
|
InputSource(String systemId)
用一个系统标识符创建一个新的输入源。
|
| Modifier and Type | Method and Description |
|---|---|
InputStream |
getByteStream()
获取此输入源的字节流。
|
Reader |
getCharacterStream()
获取此输入源的字符流。
|
String |
getEncoding()
获取一个字节流或URI的字符编码。
|
String |
getPublicId()
获取此输入源的公共标识符。
|
String |
getSystemId()
获取此输入源的系统标识符。
|
void |
setByteStream(InputStream byteStream)
将此输入源的字节流设置为。
|
void |
setCharacterStream(Reader characterStream)
将此输入源的字符流设置为。
|
void |
setEncoding(String encoding)
设置字符编码,如果已知的话。
|
void |
setPublicId(String publicId)
为这个输入源设置公共标识符。
|
void |
setSystemId(String systemId)
为该输入源设置系统标识符。
|
public InputSource()
public InputSource(String systemId)
应用程序可以使用setpublicid包含公共标识符为好,或者,指定字符编码,如果知道的话。
如果系统标识符是一个网址,它必须完全解决(它可能不是一个相对的网址)。
systemId -系统标识符(URI)。
setPublicId(java.lang.String),
setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
setEncoding(java.lang.String),
setCharacterStream(java.io.Reader)
public InputSource(InputStream byteStream)
应用程序应该使用setsystemid()作家提供一个相对URI的解析库,可以使用setpublicid包含公共标识符,并且可以使用,指定对象的字符编码。
byteStream包含文档的原始字节流。
setPublicId(java.lang.String),
setSystemId(java.lang.String),
setEncoding(java.lang.String),
setByteStream(java.io.InputStream),
setCharacterStream(java.io.Reader)
public InputSource(Reader characterStream)
应用程序应该使用setsystemid()作家提供一个相对URI的解析库,可以使用setpublicid包含公共标识符。
字符流不应包含一个字节顺序标记。
public void setPublicId(String publicId)
公共标识符始终是可选的:如果应用程序的作者包括一个,它将提供作为位置信息的一部分。
publicId -公共标识符字符串。
getPublicId(),
Locator.getPublicId(),
SAXParseException.getPublicId()
public String getPublicId()
setPublicId(java.lang.String)
public void setSystemId(String systemId)
系统标识符是可选的如果有一个字节流和字符流,但它仍然是提供一个有用的,因为应用程序可以使用它来解决相对URI,它包括在错误信息和警告(解析器将尝试开放的URI连接如果没有字节流或字符流中指定)。
如果应用程序知道对象的字符编码所指向的系统标识符,它可以登记编码使用,方法。
如果系统标识符是一个网址,它必须完全解决(它可能不是一个相对的网址)。
systemId -作为一个字符串标识系统。
setEncoding(java.lang.String),
getSystemId(),
Locator.getSystemId(),
SAXParseException.getSystemId()
public String getSystemId()
的getencoding方法将返回字符编码指向的对象,如果未知或无效。
如果系统的身份证是一个网址,它将完全解决。
setSystemId(java.lang.String),
getEncoding()
public void setByteStream(InputStream byteStream)
SAX解析器会如果也有一个字符流指定忽略这一点,但它会优先开放URI连接本身使用字节流。
如果应用程序知道字节流的字符编码,它应该确定它的方法。
byteStream -包含一个XML文档或其他实体的字节流。
setEncoding(java.lang.String),
getByteStream(),
getEncoding(),
InputStream
public InputStream getByteStream()
的getencoding方法将返回这个字节流的字符编码,如果未知或无效。
getEncoding(),
setByteStream(java.io.InputStream)
public void setEncoding(String encoding)
编码必须是一个可接受的XML编码声明字符串(参见XML 1推荐第4.3.3)。
当应用程序提供了一个字符流时,这种方法没有任何效果。
encoding -描述字符编码的字符串。
setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
getEncoding()
public String getEncoding()
setByteStream(java.io.InputStream),
getSystemId(),
getByteStream()
public void setCharacterStream(Reader characterStream)
如果有一个指定的字符流,SAX解析器将忽略任何字节流并不会试图打开一个URI连接到系统标识符。
characterStream包含XML文档或其他实体的字符流。
getCharacterStream(),
Reader
public Reader getCharacterStream()
setCharacterStream(java.io.Reader)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.