Класс 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. |
Подробное описание конструкторов
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/beans/XMLDecoder.html