Online Service 在线服务
New Articles 最新更新
Hot Articles 热点文章
Google 广告
首页 … 技术文档 Technical Articles
一个使用JAVA xmlencoder 例子
(时间:2007-7-4 16:22:36 共有 人次浏览)

XMLENCODER是一个可以将一个JAVA对象以XML方式存储,在需要再次使用该对象时候可以使用XMLDECODER进行还原,比JAVA对象流好用.


 

测试程序:


 

package com.sitechasia.test.beans;


 

import java.io.OutputStream;


 

import junit.framework.TestCase;


 

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


 

import com.funambol.framework.engine.source.ContentType;
import com.funambol.framework.engine.source.SyncSourceInfo;
import com.sitechasia.test.tools.BeanXmlEncoder;
import com.sitechasia.uab.sync.source.UabSyncSource;


 

public class TestBeanXmlEncoder extends TestCase {


 

 public TestBeanXmlEncoder(String arg0) {
  super(arg0);
 }


 

 protected void setUp() throws Exception {
  super.setUp();
 }


 

 Log log = LogFactory.getLog(TestBeanXmlEncoder.class);


 

 public void testEncodeUabSyncSource() {
  OutputStream beanout = System.out;
  UabSyncSource us = null;
  try {
   us = new UabSyncSource();
   us.setDebug(true);
   us.setName("card3");
   us.setSourceURI("card3");


 

   SyncSourceInfo info = null;
   ContentType[] cts = new ContentType[3];
   cts[0] = new ContentType("text/vcard", "2.1");
   cts[1] = new ContentType("text/x-vcard", "2.1");
   cts[2] = new ContentType("text/plain", "2.1");
   info = new SyncSourceInfo(cts, 1);
   us.setInfo(info);


 

   BeanXmlEncoder.EncoderBean(us, beanout);


 

  } catch (Exception e) {
   System.out.println("Fail to sav Bean");
  }
 }


 

 


 

 protected void tearDown() throws Exception {
  super.tearDown();
 }


 

}


 

工具类 :


 

package com.sitechasia.test.tools;


 

import java.beans.XMLEncoder;
import java.io.OutputStream;


 

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


 

/**
 * 对一个JAVA类进行编码保存
 * @author CE
 *
 */
public class BeanXmlEncoder {
 final static Log log = LogFactory.getLog(BeanXmlEncoder.class);
 public static void EncoderBean(Object bean, OutputStream beanstore) {
  XMLEncoder encoder = null;
  try {
   encoder = new XMLEncoder(beanstore);
   encoder.writeObject(bean);
   encoder.flush();
   encoder.close();
  } catch (Exception e) {
   log.error("Fail Encode bean"+ToStringBuilder.reflectionToString(bean));
   log.error("---------------------------------------------------------
");
   log.error(ExceptionUtils.getStackTrace(e));
  }


 

 }


 

}

打印 【打印该页】 【关闭窗口

此技术资料来自网络,仅供参考。未经许可,不得转载。
若有侵权,请及时与我们取得联系!
FAQS 常见问题
Consultation 即时咨询
Contact Us 联系我们