Класс StreamSource
- java.lang.Object
-
- javax.xml.transform.stream.StreamSource
- Все реализованные интерфейсы:
Source
public class StreamSource extends Object implements Source
Выступает в качестве хранилища источника преобразования в виде потока XML-разметки.
Примечание: Из-за внутреннего использования объекта Reader или InputStream, экземпляры StreamSource могут быть использованы только один раз.
- С момента:
- 1.4
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static String | FEATURE | Если |
Конструкторы
| Конструктор | Описание |
|---|---|
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) | Создаёт StreamSource из URL. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
InputStream | getInputStream() | Получить поток байтов, установленный с помощью setByteStream. |
String | getPublicId() | Получить общедоступный идентификатор, установленный с помощью setPublicId. |
Reader | getReader() | Получить поток символов, установленный с помощью setReader. |
String | getSystemId() | Получить системный идентификатор, установленный с помощью setSystemId. |
boolean | isEmpty() | Указывает, является ли объект |
void | setInputStream(InputStream inputStream) | Установить поток байтов, который будет использоваться в качестве входных данных. |
void | setPublicId(String publicId) | Установить общедоступный идентификатор для этого источника. |
void | setReader(Reader reader) | Установить входные данные как поток символов (читатель). |
void | setSystemId(File f) | Установить системный идентификатор из ссылки на файл. |
void | setSystemId(String systemId) | Установить системный идентификатор для этого источника. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
FEATURE
public static final String FEATURE
Если TransformerFactory.getFeature(java.lang.String) возвращает true при передаче этого значения в качестве аргумента, преобразователь поддерживает исходные данные этого типа.
- См. также:
- Значения константных полей
Конструкторы
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- Действительная ссылка на InputStream, содержащая XML-поток.
StreamSource
public StreamSource(InputStream inputStream,
String systemId) Создаёт StreamSource из потока байтов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML.
Этот конструктор позволяет задать systemID помимо входного потока, что позволяет обрабатывать относительные URI.
- Параметры:
-
inputStream- Действительная ссылка на InputStream, содержащая XML-поток. -
systemId- Должен быть строкой, соответствующей синтаксису URI.
StreamSource
public StreamSource(Reader reader)
Создаёт StreamSource из потока символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.
- Параметры:
-
reader- Действительная ссылка на Reader, содержащая XML-поток символов.
StreamSource
public StreamSource(Reader reader,
String systemId) Создаёт StreamSource из потока символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.
- Параметры:
-
reader- Действительная ссылка на Reader, содержащая XML-поток символов. -
systemId- Должен быть строкой, соответствующей синтаксису URI.
StreamSource
public StreamSource(String systemId)
Создаёт StreamSource из URL.
- Параметры:
-
systemId- Должен быть строкой, соответствующей синтаксису URI.
StreamSource
public StreamSource(File f)
Создаёт StreamSource из файла.
- Параметры:
-
f- Должна быть ссылка на непустой файл.
Методы
setInputStream
public void setInputStream(InputStream inputStream)
Устанавливает поток байтов, который будет использоваться в качестве входных данных. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML.
Если этот объект Source используется для обработки стилей, обычно также следует вызвать setSystemId, чтобы разрешить относительные ссылки URL.
- Параметры:
-
inputStream- Действительная ссылка на InputStream, содержащая XML-поток.
getInputStream
public InputStream getInputStream()
Получить поток байтов, который был установлен с помощью setByteStream.
- Возвращает:
- Поток байтов, который был установлен с помощью setByteStream, или null, если setByteStream или конструктор ByteStream не вызывались.
setReader
public void setReader(Reader reader)
Устанавливает входной поток символов. Обычно следует использовать поток, а не ридер, чтобы парсер XML мог определить кодировку символов, указанную в декларации XML. Однако во многих случаях кодировка входного потока уже определена, как в случае чтения XML из StringReader.
- Параметры:
-
reader- Действительная ссылка на Reader, содержащая XML-поток символов.
getReader
public Reader getReader()
Получить поток символов, который был установлен с помощью setReader.
- Возвращает:
- Поток символов, который был установлен с помощью setReader, или null, если setReader или конструктор Reader не вызывались.
setPublicId
public void setPublicId(String publicId)
Установить общественный идентификатор для этого источника.
Общественный идентификатор всегда является необязательным: если создатель приложения включил его, он будет предоставлен в качестве части информации о местоположении.
- Параметры:
-
publicId- Общественный идентификатор в виде строки.
getPublicId
public String getPublicId()
Получить общественный идентификатор, который был установлен с помощью setPublicId.
- Возвращает:
- Общественный идентификатор, который был установлен с помощью setPublicId, или null, если setPublicId не вызывался.
setSystemId
public void setSystemId(String systemId)
Установить системный идентификатор для этого источника.
Системный идентификатор является необязательным, если есть поток байтов или символов, но его всё равно полезно предоставить, так как приложение может использовать его для разрешения относительных URI и может включить его в сообщения об ошибках и предупреждения (парсер попытается открыть соединение с URI только если не задан поток байтов или символов).
- Определено в:
-
setSystemIdв интерфейсеSource - Параметры:
-
systemId- Системный идентификатор в виде строки URL.
getSystemId
public String getSystemId()
Получить системный идентификатор, который был установлен с помощью setSystemId.
- Определено в:
-
getSystemIdв интерфейсеSource - Возвращает:
- Системный идентификатор, который был установлен с помощью setSystemId, или null, если setSystemId не вызывался.
setSystemId
public void setSystemId(File f)
Устанавливает системный идентификатор из ссылки на файл.
- Параметры:
-
f- Должна быть ссылка на непустой файл.
isEmpty
public boolean isEmpty()
Указывает, является ли объект StreamSource пустым. Пустым считается следующее:
- Все источники входных данных, включая общественный идентификатор, системный идентификатор, поток байтов и поток символов, являются
null. - Общественный идентификатор и системный идентификатор являются
null, а потоки байтов и символов либоnullили не содержат байтов или символов.Обратите внимание, что этот метод сбросит поток байтов, если он указан, или поток символов, если поток байтов не указан.
В случае ошибки при проверке потока байтов или символов метод вернёт false, чтобы позволить обработчику XML обработать ошибку.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/transform/stream/StreamSource.html