|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class XMLEncoder extends Encoder implements AutoCloseable
XMLEncoder class является дополнительной альтернативой ObjectOutputStream и может используемый, чтобы генерировать текстовое представление JavaBean таким же образом что ObjectOutputStream может использоваться, чтобы создать двоичное представление Serializable объекты. Например, следующий фрагмент может использоваться, чтобы создать текстовое представление предоставленный JavaBean и все его свойства:
XMLEncoder e = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("Test.xml")));
e.writeObject(new JButton("Hello, world"));
e.close();
Несмотря на подобие их API, XMLEncoder class исключительно разрабатывается с целью архивирования графиков JavaBeans как текстовые представления их общедоступных свойств. Как исходные файлы Java, документы, записанные этот путь, имеют врожденный иммунитет к изменениям в реализациях включенных классов. ObjectOutputStream продолжает рекомендоваться для межпроцессного взаимодействия и сериализации общего назначения. XMLEncoder class предоставляет обозначение значения по умолчанию JavaBeans, в котором они представляются как XML-документы, выполняющие версию 1.0 спецификации XML и кодировку символов UTF-8 Unicode/ISO 10646 наборов символов. XML-документы, произведенные XMLEncoder class:
XMLEncoder class использует алгоритм устранения избыточности внутренне так, чтобы значения по умолчанию свойств Боба не были записаны потоку. Ниже пример архива XML, содержащего некоторые компоненты пользовательского интерфейса от инструментария колебания:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.0" class="java.beans.XMLDecoder">
<object class="javax.swing.JFrame">
<void property="name">
<string>frame1</string>
</void>
<void property="bounds">
<object class="java.awt.Rectangle">
<int>0</int>
<int>0</int>
<int>200</int>
<int>200</int>
</object>
</void>
<void property="contentPane">
<void method="add">
<object class="javax.swing.JButton">
<void property="label">
<string>Hello</string>
</void>
</object>
</void>
</void>
<void property="visible">
<boolean>true</boolean>
</void>
</object>
</java>
Синтаксис XML использует следующие соглашения: Хотя все графы объектов могут быть записаны, используя только эти три тега, следующие определения включаются так, чтобы структуры общих данных могли быть выражены более кратко:
Integer class мог быть записан: <интервал> 123 </интервал>. Отметьте что XMLEncoder class использует отражательный пакет Java, в котором преобразование между типами примитивов Java и их связанными "классами обертки" обрабатывается внутренне. API для XMLEncoder САМ class имеет дело только с Objects. Для получения дополнительной информации Вы могли бы также хотеть проверить , статью в Соединении Swing.
XMLDecoder, ObjectOutputStream| Конструктор и Описание |
|---|
XMLEncoder(OutputStream out)
Создает новый кодер XML, чтобы выписать JavaBeans к потоку
out использование кодирования XML. |
XMLEncoder(OutputStream out, String charset, boolean declaration, int indentation)
Создает новый кодер XML, чтобы выписать JavaBeans к потоку
out использование данного charset запуск с данного indentation. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
close()
Это вызовы метода
flush, пишет заключительная постиноходь и затем закрывает поток вывода, связанный с этим потоком. |
void |
flush()
Этот метод выписывает преамбулу, связанную с кодированием XML, если это уже не было записано и затем выписывает все значения который записанный потоку с прошлого раза
flush был вызван. |
Объект |
getOwner()
Получает владельца этого кодера.
|
void |
setOwner(Object owner)
Устанавливает владельца этого кодера к
owner. |
void |
writeExpression(Expression oldExp)
Записывает Выражение так, чтобы Кодер произвел фактический вывод, когда поток будет сброшен.
|
void |
writeObject(Object o)
Запишите представление XML указанного объекта к выводу.
|
void |
writeStatement(Statement oldStm)
Записывает Оператор так, чтобы Кодер произвел фактический вывод, когда поток будет сброшен.
|
get, getExceptionListener, getPersistenceDelegate, remove, setExceptionListener, setPersistenceDelegatepublic XMLEncoder(OutputStream out)
out использование кодирования XML.out - поток, которому будет записано представление XML объектовIllegalArgumentException - если out nullXMLDecoder.XMLDecoder(InputStream)public XMLEncoder(OutputStream out, String charset, boolean declaration, int indentation)
out использование данного charset запуск с данного indentation.out - поток, которому будет записано представление XML объектовcharset - имя требуемого набора символов; может быть или каноническое имя или псевдонимdeclaration - должно ли объявление XML быть сгенерировано; установите это в false встраивая содержание в другой XML-документindentation - число пробелов, чтобы расположить весь XML-документ с отступомIllegalArgumentException - если out или charset null, или если indentation меньше чем 0IllegalCharsetNameException - если charset имя недопустимоUnsupportedCharsetException - если никакая поддержка именованного набора символов не доступна в этом экземпляре виртуальной машины JavaUnsupportedOperationException - если загруженный набор символов не поддерживает кодированиеCharset.forName(String)public void setOwner(Object owner)
owner.owner - Владелец этого кодера.getOwner()public Object getOwner()
setOwner(java.lang.Object)public void writeObject(Object o)
writeObject в class Encodero - Объект, который будет записан потоку.XMLDecoder.readObject()public void writeStatement(Statement oldStm)
Этот метод должен только быть вызван в пределах контекста инициализации делегата персистентности.
writeStatement в class EncoderoldStm - Оператор, который будет записан потоку.PersistenceDelegate.initialize(java.lang.Class<?>, java.lang.Object, java.lang.Object, java.beans.Encoder)public void writeExpression(Expression oldExp)
Этот метод должен только быть вызван в пределах контекста инициализации делегата персистентности или установки кодер, чтобы читать из пакета ресурса.
Для получения дополнительной информации об использовании пакетов ресурса с XMLEncoder см. http://java.sun.com/products/jfc/tsc/articles/persistence4/#i18n
writeExpression в class EncoderoldExp - Выражение, которое будет записано потоку.PersistenceDelegate.initialize(java.lang.Class<?>, java.lang.Object, java.lang.Object, java.beans.Encoder)public void flush()
flush был вызван. После сбрасывания очищаются все внутренние ссылки на значения, которые были записаны этому потоку.public void close()
flush, пишет заключительная постиноходь и затем закрывает поток вывода, связанный с этим потоком.close в интерфейсе AutoCloseable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92