XMLEncoder 与XMLDecoder

阅读更多
从自己的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 并没有重写任何方法
 
有时间再修改一下

你可能感兴趣的:(Java,XML,Bean)