public class InputSource extends Object
Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ. См. для дополнительной информации.
Этот class позволяет приложению SAX инкапсулировать информацию о входном источнике в единственном объекте, который может включать общедоступный идентификатор, системный идентификатор, поток байтов (возможно с указанным кодированием), и/или символьный поток.
Есть два места, что приложение может поставить входной источник синтаксическому анализатору: как параметр методу Parser.parse, или как возвращаемое значение метода EntityResolver.resolveEntity.
Синтаксический анализатор SAX будет использовать объект InputSource определить, как считать ввод XML. Если будет символьный доступный поток, то синтаксический анализатор считает тот поток непосредственно, игнорируя любой текст, кодирующий объявление, найденное в том потоке. Если не будет никакого символьного потока, но есть поток байтов, то синтаксический анализатор будет использовать тот поток байтов, используя кодирование, определенное в InputSource или иначе (если никакое кодирование не будет определено), автоматическое обнаружение кодировки символов, используя алгоритм, такой как тот в спецификации XML. Если ни символьный поток, ни поток байтов не будут доступны, то синтаксический анализатор попытается открыть соединение URI с ресурсом, идентифицированным системным идентификатором.
Объект InputSource принадлежит приложению: синтаксический анализатор SAX никогда не должен изменять это всегда (это может изменить копию в случае необходимости). Однако, стандартная обработка и байта и символьных потоков должна закрыть их на как часть уборки конца синтаксического анализа, таким образом, приложения не должны попытаться снова использовать такие потоки после того, как их вручили синтаксическому анализатору.
XMLReader.parse(org.xml.sax.InputSource), EntityResolver.resolveEntity(java.lang.String, java.lang.String), InputStream, Reader| Конструктор и Описание |
|---|
InputSource()
Конструктор по умолчанию нулевого параметра.
|
InputSource(InputStream byteStream)
Создайте новый входной источник с потоком байтов.
|
InputSource(Reader characterStream)
Создайте новый входной источник с символьным потоком.
|
InputSource(String systemId)
Создайте новый входной источник с системным идентификатором.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
InputStream |
getByteStream()
Получите поток байтов для этого входного источника.
|
Читатель |
getCharacterStream()
Получите символьный поток для этого входного источника.
|
Строка |
getEncoding()
Получите кодировку символов для потока байтов или URI.
|
Строка |
getPublicId()
Получите общедоступный идентификатор для этого входного источника.
|
Строка |
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, чтобы включать общедоступный идентификатор также, или setEncoding, чтобы определить кодировку символов, если известный.
Если системным идентификатором является URL, он должен быть полностью разрешен (это, возможно, не относительный URL).
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, чтобы включать общедоступный идентификатор, и могут использовать setEncoding, чтобы определить кодировку символов объекта.
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, только если нет никакого потока байтов или символьного определенного потока).
Если приложение знает кодировку символов объекта, на который указывает системный идентификатор, это может зарегистрировать кодирование, используя setEncoding метод.
Если системным идентификатором является URL, он должен быть полностью разрешен (это, возможно, не относительный URL).
systemId - Системный идентификатор как строка.setEncoding(java.lang.String), getSystemId(), Locator.getSystemId(), SAXParseException.getSystemId()public String getSystemId()
getEncoding метод возвратит кодировку символов объекта, на который указывают, или нуль если неизвестный.
Если системным ID будет URL, то он будет полностью разрешен.
setSystemId(java.lang.String), getEncoding()public void setByteStream(InputStream byteStream)
Синтаксический анализатор SAX проигнорирует это, если будет также символьный определенный поток, но это будет использовать поток байтов в предпочтении к открытию соединения URI непосредственно.
Если приложение знает кодировку символов потока байтов, это должно установить это с setEncoding методом.
byteStream - Поток байтов, содержащий XML-документ или другой объект.setEncoding(java.lang.String), getByteStream(), getEncoding(), InputStreampublic InputStream getByteStream()
getEncoding метод возвратит кодировку символов для этого потока байтов, или нуль если неизвестный.
getEncoding(), setByteStream(java.io.InputStream)public void setEncoding(String encoding)
Кодирование должно быть строкой, приемлемой для XML, кодирующего объявление (см. раздел 4.3.3 из рекомендации XML 1.0).
Этот метод не имеет никакого эффекта, когда приложение обеспечивает символьный поток.
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(), Readerpublic Reader getCharacterStream()
setCharacterStream(java.io.Reader)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92