• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • JAVA對象序列化保存為XML文件的工具類

    發表于:2007-04-27來源:作者:點擊數: 標簽:javaxml序列化存為文件
    今天看了看 java .beans包,發現了兩個好東西,XMLEncoder和XMLDecoder。發現自己以前把從XML存取對象真是太費力氣啦。做了小工具類,以后可以用用了。 以下是引用片段: packagecom.imct.util; importjava.beans.XMLDecoder; importjava.beans.XMLEncoder;
      今天看了看java.beans包,發現了兩個好東西,XMLEncoder和XMLDecoder。發現自己以前把從XML存取對象真是太費力氣啦。做了小工具類,以后可以用用了。

    以下是引用片段:
    package com.imct.util;
    import java.beans.XMLDecoder;
    import java.beans.XMLEncoder;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    /**
     * <title>使用XML文件存取可序列化的對象的類</title>
     * <description>提供保存和讀取的方法</description>
     * @author 殷晉
     * <copyright>清華大學汽車工程開發研究院@2005</copyright>
     * @version 1.0
     * 2005-8-5 16:44:49
     */
    public class ObjectToXMLUtil
    {
     /**
      * 把java的可序列化的對象(實現Serializable接口)序列化保存到XML文件里面,如果想一次保存多個可序列化對象請用集合進行封裝
      * 保存時將會用現在的對象原來的XML文件內容
      * @param obj 要序列化的可序列化的對象
      * @param fileName 帶完全的保存路徑的文件名 
      * @throws FileNotFoundException 指定位置的文件不存在
      * @throws IOException 輸出時發生異常
      * @throws Exception 其他運行時異常
      */
     public static void objectXmlEncoder(Object obj,String fileName)
      throws FileNotFoundException,IOException,Exception
     {  
      //創建輸出文件
      File fo = new File(fileName);
      //文件不存在,就創建該文件
      if(!fo.exists())
      {
       //先創建文件的目錄
          String path = fileName.substring(0,fileName.lastIndexOf('.'));
          File pFile = new File(path);
          pFile.mkdirs();         
      }
      //創建文件輸出流
      FileOutputStream fos = new FileOutputStream(fo);
      //創建XML文件對象輸出類實例
      XMLEncoder encoder = new XMLEncoder(fos);  
      //對象序列化輸出到XML文件
      encoder.writeObject(obj);
      encoder.flush(); 
      //關閉序列化工具
      encoder.close();
      //關閉輸出流
      fos.close();    
     } 
     /**
      * 讀取由objSource指定的XML文件中的序列化保存的對象,返回的結果經過了List封裝
      * @param objSource 帶全部文件路徑的文件全名
      * @return 由XML文件里面保存的對象構成的List列表(可能是一個或者多個的序列化保存的對象)  
      * @throws FileNotFoundException 指定的對象讀取資源不存在
      * @throws IOException 讀取發生錯誤
      * @throws Exception 其他運行時異常發生
      */
     public static List objectXmlDecoder(String objSource) 
      throws FileNotFoundException,IOException,Exception
     {
      List objList = new ArrayList();    
      File fin = new File(objSource);
      FileInputStream fis = new FileInputStream(fin);
      XMLDecoder decoder = new XMLDecoder(fis);
      Object obj = null;
      try
      {
       while( (obj = decoder.readObject()) != null)
       {
        objList.add(obj);
       }
      }
      catch (Exception e)
      {
       // TODO Auto-generated catch block    
      }
      fis.close();
      decoder.close();     
      return objList;
     }
    }


      閱讀關于 JAVA 對象 序列化 XML 工具類 的全部文章

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>