BlogJava 聯(lián)系 聚合 管理  

          Blog Stats

          隨筆檔案

          exams


          java世界

          世界Java

          XMLENCODER是一個(gè)可以將一個(gè)JAVA對(duì)象以XML方式存儲(chǔ),在需要再次使用該對(duì)象時(shí)候可以使用XMLDECODER進(jìn)行還原,比JAVA對(duì)象流好用.


          測(cè)試程序:


          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;


          /**
           * 對(duì)一個(gè)JAVA類進(jìn)行編碼保存
           * @author  MCSA 
           *
           */
          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));
            }


           }


          }

          posted on 2007-10-15 10:44 java2java 閱讀(3592) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 新余市| 长治县| 余庆县| 温州市| 绩溪县| 大连市| 华容县| 丰县| 迭部县| 广丰县| 宜兰市| 乳源| 青岛市| 介休市| 镇原县| 黄平县| 双桥区| 卫辉市| 洞头县| 石嘴山市| 旺苍县| 宜章县| 三都| 通州区| 广昌县| 于田县| 含山县| 嘉义县| 宜兴市| 堆龙德庆县| 寿宁县| 铅山县| 宕昌县| 贵州省| 和政县| 北碚区| 中山市| 通化市| 巴楚县| 南溪县| 泸溪县|