Класс XMLDecoder
java.lang.Object
java.beans.XMLDecoder
- Все реализуемые интерфейсы:
AutoCloseable
public class XMLDecoder extends Object implements AutoCloseable
Класс
XMLDecoder используется для чтения XML-документов, созданных с помощью XMLEncoder, и применяется так же, как ObjectInputStream. Например, для чтения первого объекта, определённого в XML-документе, записанном классом XMLEncoder, можно использовать следующий фрагмент:
XMLDecoder d = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("Test.xml")));
Object result = d.readObject();
d.close();
Дополнительную информацию можно найти в статье Долговременное хранение компонентов JavaBeans: схема XML в журнале The Swing Connection.
- Начиная с:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
XMLDecoder |
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder. |
XMLDecoder |
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder. |
XMLDecoder |
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder. |
XMLDecoder |
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder. |
XMLDecoder |
Создаёт новый декодер для разбора XML-архивов, созданных классом XMLEncoder. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Этот метод закрывает входной поток, связанный с данным потоком. |
static DefaultHandler |
createHandler |
Создаёт новый обработчик для SAX-анализатора, который можно использовать для разбора встроенных XML-архивов, созданных классом XMLEncoder. |
ExceptionListener |
getExceptionListener() |
Возвращает обработчик исключений для этого потока. |
Object |
getOwner() |
Возвращает владельца этого декодера. |
Object |
readObject() |
Считывает следующий объект из базового входного потока. |
void |
setExceptionListener |
Устанавливает для этого потока обработчик исключений exceptionListener. |
void |
setOwner |
Устанавливает владельцем этого декодера owner. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Определяет, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
XMLDecoder
public XMLDecoder(InputStream in)
Создаёт новый входной поток для чтения архивов, созданных классом
XMLEncoder.- Параметры:
-
in— базовый поток. - См. также:
XMLDecoder
public XMLDecoder(InputStream in, Object owner)
Создаёт новый входной поток для чтения архивов, созданных классом
XMLEncoder.- Параметры:
-
in— базовый поток. -
owner— владелец этого потока.
XMLDecoder
public XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener)
Создаёт новый входной поток для чтения архивов, созданных классом
XMLEncoder.- Параметры:
-
in— базовый поток. -
owner— владелец этого потока. -
exceptionListener— обработчик исключений для потока; еслиnull, будет использоваться обработчик исключений по умолчанию.
XMLDecoder
public XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)
Создаёт новый входной поток для чтения архивов, созданных классом
XMLEncoder.- Параметры:
-
in— базовый поток.nullможно передать без ошибки, хотя созданный XMLDecoder будет бесполезен -
owner— владелец этого потока.nullявляется допустимым значением -
exceptionListener— обработчик исключений для потока илиnull, чтобы использовать значение по умолчанию -
cl— загрузчик классов, используемый для создания экземпляров объектов.nullозначает, что следует использовать загрузчик классов по умолчанию - Начиная с:
- 1.5
XMLDecoder
public XMLDecoder(InputSource is)
Создаёт новый декодер для разбора XML-архивов, созданных классом
XMLEncoder. Если источник ввода is равен null, исключение не выбрасывается и разбор не выполняется. Это поведение аналогично поведению других конструкторов, принимающих InputStream в качестве параметра.- Параметры:
-
is— источник ввода для разбора - Начиная с:
- 1.7
Подробное описание методов
close
public void close()
Этот метод закрывает входной поток, связанный с данным потоком.
- Переопределено:
-
closeв интерфейсеAutoCloseable
setExceptionListener
public void setExceptionListener(ExceptionListener exceptionListener)
Устанавливает для этого потока обработчик исключений
exceptionListener. Обработчик исключений получает уведомление, когда этот поток перехватывает восстанавливаемые исключения.- Параметры:
-
exceptionListener— обработчик исключений для этого потока; еслиnull, будет использоваться обработчик исключений по умолчанию. - См. также:
getExceptionListener
public ExceptionListener getExceptionListener()
Возвращает обработчик исключений для этого потока.
- Возвращает:
- Обработчик исключений для этого потока. Если он не был задан явно, возвращает обработчик исключений по умолчанию.
- См. также:
readObject
public Object readObject()
Считывает следующий объект из базового входного потока.
- Возвращает:
- считанный следующий объект
- Выбрасывает:
-
ArrayIndexOutOfBoundsException— если поток не содержит объектов (или больше не содержит объектов) - См. также:
setOwner
public void setOwner(Object owner)
Устанавливает владельцем этого декодера
owner.- Параметры:
-
owner— владелец этого декодера. - См. также:
getOwner
public Object getOwner()
Возвращает владельца этого декодера.
- Возвращает:
- Владелец этого декодера.
- См. также:
createHandler
public static DefaultHandler createHandler(Object owner, ExceptionListener el, ClassLoader cl)
Создаёт новый обработчик для SAX-анализатора, который можно использовать для разбора встроенных XML-архивов, созданных классом
XMLEncoder. Следует использовать owner, если разбираемый XML-документ содержит вызов метода в контексте элемента <java>. В этом случае значение null может привести к неправильному разбору. Такая же проблема может возникнуть, если класс owner не содержит ожидаемого метода для вызова. Подробности см. здесь.- Параметры:
-
owner— владелец обработчика по умолчанию, который можно использовать в качестве значения элемента <java> -
el— обработчик исключений для анализатора илиnull, чтобы использовать обработчик исключений по умолчанию -
cl— загрузчик классов, используемый для создания экземпляров объектов, илиnull, чтобы использовать загрузчик классов по умолчанию - Возвращает:
- экземпляр
DefaultHandlerдля SAX-анализатора - Начиная с:
- 1.7
© 1993, 2025, 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.