Класс 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(InputSource is) Создаёт новый декодер для разбора XML-архивов, созданных классом |
XMLDecoder(InputStream in) Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner) Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner,
ExceptionListener exceptionListener) Создаёт новый поток ввода для чтения архивов, созданных классом |
XMLDecoder(InputStream in,
Object owner,
ExceptionListener exceptionListener,
ClassLoader cl) Создаёт новый поток ввода для чтения архивов, созданных классом |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
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.