Spec-Zone.ru › OpenJDK 27

Класс 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
См. также:
  • XMLEncoder
  • ObjectInputStream

Краткое описание конструкторов

Конструктор Описание
XMLDecoder(InputStream in)
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder.
XMLDecoder(InputStream in, Object owner)
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder.
XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener)
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder.
XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder.
XMLDecoder(InputSource is)
Создаёт новый декодер для разбора XML-архивов, созданных классом XMLEncoder.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Этот метод закрывает входной поток, связанный с данным потоком.
static DefaultHandler createHandler(Object owner, ExceptionListener el, ClassLoader cl)
Создаёт новый обработчик для SAX-анализатора, который можно использовать для разбора встроенных XML-архивов, созданных классом XMLEncoder.
ExceptionListener getExceptionListener()
Возвращает обработчик исключений для этого потока.
Object getOwner()
Возвращает владельца этого декодера.
Object readObject()
Считывает следующий объект из базового входного потока.
void setExceptionListener(ExceptionListener exceptionListener)
Устанавливает для этого потока обработчик исключений exceptionListener.
void setOwner(Object owner)
Устанавливает владельцем этого декодера owner.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Определяет, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

XMLDecoder

public XMLDecoder(InputStream in)
Создаёт новый входной поток для чтения архивов, созданных классом XMLEncoder.
Параметры:
in — базовый поток.
См. также:
  • XMLEncoder(java.io.OutputStream)

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()

getExceptionListener

public ExceptionListener getExceptionListener()
Возвращает обработчик исключений для этого потока.
Возвращает:
Обработчик исключений для этого потока. Если он не был задан явно, возвращает обработчик исключений по умолчанию.
См. также:
  • setExceptionListener(ExceptionListener)

readObject

public Object readObject()
Считывает следующий объект из базового входного потока.
Возвращает:
считанный следующий объект
Выбрасывает:
ArrayIndexOutOfBoundsException — если поток не содержит объектов (или больше не содержит объектов)
См. также:
  • XMLEncoder.writeObject(Object)

setOwner

public void setOwner(Object owner)
Устанавливает владельцем этого декодера owner.
Параметры:
owner — владелец этого декодера.
См. также:
  • getOwner()

getOwner

public Object getOwner()
Возвращает владельца этого декодера.
Возвращает:
Владелец этого декодера.
См. также:
  • setOwner(Object)

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания, предназначенные для разработчиков, с обзорами концепций, определениями терминов, обходными решениями и примерами работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API