Класс 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, 2023, 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/21/docs/api/java.desktop/java/beans/XMLDecoder.html