Класс 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();
Для получения дополнительной информации можно ознакомиться со статьей Long Term Persistence of JavaBeans Components: XML Schema в журнале 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, 2021, 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/17/docs/api/java.desktop/java/beans/XMLDecoder.html