Класс 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.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

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(java.beans.ExceptionListener)

readObject

public Object readObject()

Читает следующий объект из основного потока ввода.

Возвращает:
следующий прочитанный объект
Исключения:
ArrayIndexOutOfBoundsException - если поток не содержит объектов (или больше нет объектов)
См. также:
XMLEncoder.writeObject(java.lang.Object)

setOwner

public void setOwner(Object owner)

Устанавливает владельца данного декодера в owner.

Параметры:
owner - Владелец данного декодера.
См. также:
getOwner()

getOwner

public Object getOwner()

Получает владельца данного декодера.

Возвращает:
Владелец данного декодера.
См. также:
setOwner(java.lang.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

© 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.desktop/java/beans/XMLDecoder.html

Spec-Zone .ru
спецификации, руководства, описания, API