`

XMLEncoder 与XMLDecoder

    博客分类:
  • xml
阅读更多
从自己的msn空间移动过来的..
一个简单不能在简单的例子
 
package dev.bean;
import java.beans.XMLEncoder;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.*;
import java.beans.XMLDecoder;
public class beanToFile {
  public static void main(String[] args) {
    beanToFile.wirteObjectFile("d:\\1.xml");
    beanToFile.readObjectFile("d:\\1.xml");
  }
  /**
   ** 把一个对象记录到xml文件中
  **/
  public  static void wirteObjectFile(String filename){
    try {
      Goo g = new Goo();
      g.setId("111");
      g.setName("2222");
      XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream( ( (
          OutputStream) (new FileOutputStream(filename)))));
      encoder.setPersistenceDelegate(Goo.class, new GooDefaultPersistenceDelegate());
      encoder.writeObject(g);
      encoder.close();
    }
    catch (FileNotFoundException ex) {
      ex.printStackTrace();
    }
  }
  /**
  **从一个xml文件中读取出对象
  **/
  public  static Object readObjectFile(String filename){
    Object obj = null;
   try {
     XMLDecoder decoder = new XMLDecoder(new BufferedInputStream( ( (
         InputStream) (new FileInputStream(filename)))));
     obj = decoder.readObject();
   }
   catch (FileNotFoundException ex) {
     ex.printStackTrace();
   }
   return obj;
 }
}
其中的GooDefaultPersistenceDelegate 是继承了DefaultPersistenceDelegate,在继承的方法里面的可以写上很多自己的方法,这个例子的GooDefaultPersistenceDelegate 并没有重写任何方法
 
有时间再修改一下
分享到:
评论

相关推荐

    068-2020-08-25 java反序列化的研究.pdf

    Java中的XMLEncoder与XMLDecoder类就是进行XML格式序列化和反序列化的工具。此外,还有其他机制用于处理二进制和JSON格式数据。然而,无论是哪种格式,问题都在于数据转换为对象的这一过程中,如果数据可以由用户...

    java中xml与object的应用 (XMLEncoder应用)

    总结来说,`XMLEncoder`和`XMLDecoder`是Java中方便的工具,它们使得Java对象与XML之间的转换变得简单。然而,对于更复杂的场景,如需要处理复杂的XML结构或支持自定义的序列化规则,可能需要结合使用`JAXB`(Java ...

    S22-XMLDecoder反序列化1

    在Java编程语言中,`XMLDecoder`和`XMLEncoder`是用于对象序列化和反序列化的工具。这两个类属于`java.beans`包,主要用于将Java对象转换为XML格式的字符串,以及将XML数据恢复为Java对象。在给定的标题和描述中,...

    JAVA对象序列化保存为XML文件的工具类

    `java.beans`包中的`XMLEncoder`和`XMLDecoder`就是为此目的设计的。 `XMLEncoder`是一个用于将Java对象编码为XML输出流的类,它能够将对象的属性和结构转换为XML格式。而`XMLDecoder`则相反,它可以解析XML输入流...

    xml binary soap 序列化

    5. 实现与库:许多编程语言都提供了支持XML和SOAP二进制序列化的库或框架,例如.NET Framework的BinaryFormatter和XmlSerializer,Java的XMLEncoder和XMLDecoder,Python的pickle模块和xml.etree.ElementTree等。...

    Java对象的XML序列化与反序列化实例解析

    在Java中,`java.beans` 包提供了两个关键类来支持XML序列化和反序列化:`XMLEncoder` 和 `XMLDecoder`。`XMLEncoder` 负责将符合JavaBeans规范的Java对象转换为XML文档,而`XMLDecoder` 则负责将XML文档还原为原来...

    Java自带的序列化方法1

    与`ObjectOutputStream`不同,`XMLEncoder`提供了更易读的表示形式,适合数据交换和配置存储。创建`XMLEncoder`时需要提供一个输出流或者writer,然后调用`writeObject()`方法: ```java try (XMLEncoder encoder =...

    java持久化的解决方案

    自Java 1.4起,标准库中引入了`XMLEncoder`和`XMLDecoder`类,提供了一种简便的方法将对象序列化为XML文件或从XML文件反序列化对象。这一机制克服了序列化在元数据保留上的不足,使得对象信息在不同应用程序间更为...

    openbeans(android)

    - **序列化**:`XMLEncoder`和`XMLDecoder`可以将Bean对象序列化为XML,便于存储和传输。 综上所述,`openbeans.jar`为Android开发者提供了一种在平台上使用JavaBeans功能的方式,通过引入这个库,开发者可以充分...

    java 实现的mina server client完全能用的

    例如,你可以使用XMLDecoder和XMLEncoder来处理XML消息。 4. **Filter Chain**:Mina的过滤器链模型允许你在数据传输过程中添加中间层,进行数据处理、日志记录、性能监控等。每个过滤器都可以选择修改或传递数据到...

    commons-codec-1.10

    6. **XML编码**:XMLDecoder和XMLEncoder允许开发者以XML格式序列化和反序列化Java对象。这对于数据交换和持久化存储来说是极其便利的,同时确保了与XML标准的兼容性。 7. **性能优化**:Apache Commons Codec 1.10...

    Java实现画图工具

    在这个场景中,Swing是一个常见的选择,因为它与Java标准版(J2SE)兼容,并且提供了丰富的组件和功能来构建用户界面。Swing中的`JFrame`是窗口的基础,我们可以在这个框架上添加各种组件,如菜单、按钮和面板。 ...

    [经典]自动将任何javabean封装成xml,返回Element对象

    7. **序列化和反序列化**:除了手动创建XML,Java还提供了`java.beans.XMLEncoder`和`java.beans.XMLDecoder`进行javabean的XML序列化和反序列化,但这通常只适用于标准的javabean,且不支持复杂的嵌套结构。...

    Java 语言的反射机制

    在序列化/反序列化过程中,如 `java.beans.XMLEncoder` 和 `java.beans.XMLDecoder` 也是基于反射操作对象的属性。此外,单元测试工具如 JUnit 也会使用反射来调用私有方法进行测试。 然而,虽然反射带来了很大的...

    openbean.jar AndroidStudio 导入java.beans.*

    6. **XMLEncoder** 和 **XMLDecoder**: 这两个类提供了一种将Java对象编码为XML格式,以及从XML解码回Java对象的方法。这在数据持久化或跨平台传输时非常有用。 在Android Studio中,由于Android系统本身不直接支持...

    java反射实现Object转json

    此外,Java标准库中的`java.beans.XMLEncoder`和`java.beans.XMLDecoder`也可以用来序列化和反序列化Java对象,但它们是针对XML的,而不是JSON。如果你需要处理JSON,还是要依赖第三方库。 总结起来,虽然Java反射...

    java操作xml的方法汇总及解析

    XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(xmlStr.getBytes())); return decoder.decode(clazz); } catch (DocumentException e) { throw new RuntimeException(e); } } public static ...

    java–反射

    - 自动序列化和反序列化:如`java.beans.XMLEncoder`和`java.beans.XMLDecoder`。 - 框架设计:Spring框架中大量使用反射实现依赖注入。 - 元编程:允许在运行时检查和修改程序行为。 - 性能优化:反射可用于...

    tutorial-xml:关于处理 XML 文档的 Java 教程的示例文件

    `java.io.ObjectOutputStream`和`java.io.ObjectInputStream`可以与`java.beans.XMLEncoder`和`java.beans.XMLDecoder`一起使用,实现对象和XML之间的转换。 在`tutorial-xml-master`压缩包中,可能包含各种示例...

    详解Java编程中对象的序列化

    - `java.beans.XMLEncoder`和`java.beans.XMLDecoder`提供了XML格式的序列化和反序列化,这对于跨平台数据交换和存储可能更有利。 - `java.util.prefs.Preferences`类提供了一种树型结构的键值对持久化,适合存储...

Global site tag (gtag.js) - Google Analytics