Класс 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) |
Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner) |
Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner,
ExceptionListener exceptionListener) |
Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner,
ExceptionListener exceptionListener,
ClassLoader cl) |
Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputSource is) |
Создаёт новый декодер для разбора XML-архивов, созданных классом |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Этот метод закрывает поток ввода, связанный с данным потоком. |
static DefaultHandler |
createHandler(Object owner,
ExceptionListener el,
ClassLoader cl) |
Создаёт новый обработчик для SAX-парсера, который можно использовать для разбора вложенных XML-архивов, созданных классом |
ExceptionListener |
getExceptionListener() |
Получает обработчик исключений для данного потока. |
Object |
getOwner() |
Получает владельца данного декодера. |
Object |
readObject() |
Читает следующий объект из основного потока ввода. |
void |
setExceptionListener(ExceptionListener exceptionListener) |
Устанавливает обработчик исключений для данного потока в |
void |
setOwner(Object 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