Most visited

Recently visited

Added in API level 1

InputSource

public class InputSource
extends Object

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


XML实体的单个输入源。

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解析器绝不会以任何方式对其进行修改(如有必要,它可能会修改副本)。 然而,字节流和字符流的标准处理是关闭它们作为分析结束清理的一部分,因此应用程序不应当在将这些流传递给解析器之后尝试重新使用这些流。

也可以看看:

Summary

Public constructors

InputSource()

零参数默认构造函数。

InputSource(String systemId)

用系统标识符创建一个新的输入源。

InputSource(InputStream byteStream)

用字节流创建一个新的输入源。

InputSource(Reader characterStream)

用字符流创建一个新的输入源。

Public methods

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)

为此输入源设置系统标识符。

Inherited methods

From class java.lang.Object

Public constructors

InputSource

Added in API level 1
InputSource ()

零参数默认构造函数。

也可以看看:

InputSource

Added in API level 1
InputSource (String systemId)

用系统标识符创建一个新的输入源。

应用程序也可以使用setPublicId来包含公共标识符,或者setEncoding指定字符编码(如果已知)。

如果系统标识符是一个URL,它必须完全解析(它可能不是一个相对URL)。

Parameters
systemId String: The system identifier (URI).

也可以看看:

InputSource

Added in API level 1
InputSource (InputStream byteStream)

用字节流创建一个新的输入源。

应用程序编写者应使用setSystemId()为解析相对URI提供基础,可使用setPublicId包含公共标识符,并可使用setEncoding指定对象的字符编码。

Parameters
byteStream InputStream: The raw byte stream containing the document.

也可以看看:

InputSource

Added in API level 1
InputSource (Reader characterStream)

用字符流创建一个新的输入源。

应用程序编写者应该使用setSystemId()为解析相对URI提供基础,并且可以使用setPublicId来包含公共标识符。

字符流不应包含字节顺序标记。

Parameters
characterStream Reader: The raw character stream containing the document.

也可以看看:

Public methods

getByteStream

Added in API level 1
InputStream getByteStream ()

获取该输入源的字节流。

getEncoding方法将返回此字节流的字符编码,如果未知,则返回null。

Returns
InputStream The byte stream, or null if none was supplied.

也可以看看:

getCharacterStream

Added in API level 1
Reader getCharacterStream ()

获取此输入源的字符流。

Returns
Reader The character stream, or null if none was supplied.

也可以看看:

getEncoding

Added in API level 1
String getEncoding ()

获取字节流或URI的字符编码。 当应用程序提供字符流时,该值将被忽略。

Returns
String The encoding, or null if none was supplied.

也可以看看:

getPublicId

Added in API level 1
String getPublicId ()

获取该输入源的公共标识符。

Returns
String The public identifier, or null if none was supplied.

也可以看看:

getSystemId

Added in API level 1
String getSystemId ()

获取该输入源的系统标识符。

getEncoding方法将返回指向的对象的字符编码,如果未知,则返回null。

如果系统ID是一个URL,它将被完全解析。

Returns
String The system identifier, or null if none was supplied.

也可以看看:

setByteStream

Added in API level 1
void setByteStream (InputStream byteStream)

设置该输入源的字节流。

如果还有指定的字符流,则SAX解析器将忽略此操作,但它将使用字节流来优先打开URI连接本身。

如果应用程序知道字节流的字符编码,则应使用setEncoding方法对其进行设置。

Parameters
byteStream InputStream: A byte stream containing an XML document or other entity.

也可以看看:

setCharacterStream

Added in API level 1
void setCharacterStream (Reader characterStream)

为此输入源设置字符流。

如果指定了字符流,则SAX解析器将忽略任何字节流,并且不会尝试打开与系统标识符的URI连接。

Parameters
characterStream Reader: The character stream containing the XML document or other entity.

也可以看看:

setEncoding

Added in API level 1
void setEncoding (String encoding)

设置字符编码(如果已知)。

编码必须是XML编码声明可接受的字符串(请参阅XML 1.0建议的第4.3.3节)。

当应用程序提供字符流时,此方法不起作用。

Parameters
encoding String: A string describing the character encoding.

也可以看看:

setPublicId

Added in API level 1
void setPublicId (String publicId)

为此输入源设置公共标识符。

公共标识符始终是可选的:如果应用程序编写器包含一个,它将作为位置信息的一部分提供。

Parameters
publicId String: The public identifier as a string.

也可以看看:

setSystemId

Added in API level 1
void setSystemId (String systemId)

为此输入源设置系统标识符。

如果有字节流或字符流,则系统标识符是可选的,但提供一个字符流仍然有用,因为应用程序可以使用它来解析相对URI并将其包含在错误消息和警告中(解析器将尝试只有在没有指定字节流或字符流的情况下才打开与URI的连接)。

如果应用程序知道系统标识符指向的对象的字符编码,则它可以使用setEncoding方法注册编码。

如果系统标识符是一个URL,它必须完全解析(它可能不是一个相对URL)。

Parameters
systemId String: The system identifier as a string.

也可以看看:

Hooray!