快速业务通道

Merlin的魔力: 长期持久性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
t;seat">     <object class="java.awt.Point">      <int>5</int>      <int>3</int>     </object>    </void>   </object> </java>

这个特定的 XML 文件未显示如何嵌入用于复位 bean 属性的方法调用,如添加侦听器以及将组件添加到容器。

Merlin的魔力: 长期持久性(2)

时间:2011-02-02 IBM John Zukowski

读回

读取原始图的对象图就如保存它一样容易,但这次我们使用 XMLDecoder 。解码器的工作原理与 ObjectInputStream 相同,使用它可将文件的 InputStream 传送到构造函数中,并使用 readObject() 方法读取对象。您仍然必须将结果强制转换为适当的类型。

清单 4. XML 的读回 // Read   XMLDecoder decoder = new XMLDecoder(    new BufferedInputStream(     new FileInputStream("Sample.xml")));   Sample sample2 = (Sample)decoder.readObject();   decoder.close();

完整的示例

从本质上来说,这个示例包括了将 JavaBean 组件状态编码进 XML 以及从 XML 中解码出来的全部内容。这个示例在后台进行的工作要比我们看到的多得多。但是,要使用类,您不必了解全部内容,就象进行序列化一样。如果您对自己生成 XML 文件感兴趣,您还必须阅读更多有关文件格式的内容(请参阅 参考资料)。

这里是一个创建实例,对其进行编码,然后对其进行解码的完整的测试示例。

清单 5. 完整的测试示例import net.zukowski.ibm.Sample; import java.io.*; import java.beans.*; import java.awt.Point; public class SampleTest {   public static void main (String args[]) throws Exception {    Sample sample = new Sample();    sample.setScores(new int[] {100, 90, 75});    sample.setName("Gore");    sample.setSeat(new Point(5, 3));    XMLEncoder encoder = new XMLEncoder(     new BufferedOutputStream(      new FileOutputStream("Sample.xml")));    encoder.writeObject(sample);    encoder.close();    System.out.println(sample);    XMLDecoder decoder = new XMLDecoder(     new BufferedInputStream(      new FileInputStream("Sample.xml")));    Sample sample2 = (Sample)decoder.readObject();    decoder.close();    System.out.println(sample2);   } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号