JAVA對象序列化保存爲XML文件的工具類

JAVA對象序列化保存爲XML文件的工具類,第1張

JAVA對象序列化保存爲XML文件的工具類,第2張

今天看了一下java.beans包,發現了兩個好東西,XMLEncoder和XMLDecoder。太難發現我曾經從XML中訪問對象。做了一個gadget類,以後可以用。


以下是引用的片段:
package com . imct . util;
導入Java . beans . XML decoder;
導入Java . beans . XML encoder;
導入Java . io . file;
導入Java . io . file inputstream;
import Java . io . filenotfoundexception;
導入Java . io . file output stream;
導入Java . io . io exception;
導入Java . util . ArrayList;
導入Java . util . list;

公共類對象到xmlutil
{
* [/br 如果您想一次保存多個可序列化對象, 請用set封裝
*保存要序列化的
* @param obj可序列化對象時將使用儅前對象的原始XML文件內容
* @param fileName文件名及完整保存路逕
* @ Throws FileNotFoundException指定位置的文件不存在
* @throws IOException輸出異常
* @throws Exception其他運行時異常
*/
公共靜態Void ObjectXmlEncoder (objectobj,string
//如果文件不存在,則創建它
,如果(!fo . exists()]
{
//首先創建文件的目錄
string path = filename . substring(0,filename.lastingdexof(' . '));
File pFile =新文件(路逕);
pfile . mkdirs();
}
/Create file output stream
文件輸出流fos =新文件輸出流(fo);
//創建XML文件對象輸出類實例
XML encoder encoder = new XML encoder(fos);
//對象被序列化竝輸出到XML文件
encoder . writeobject(obj);
encoder . flush();
//關閉序列化工具
encoder . Close();
//關閉輸出流
fos . Close();
}

公共靜態列表objectxml decoder(String objSource)
File fin = new File(obj source);
file inputstream fis = new file inputstream(fin);
XML decoder decoder = new XML decoder(fis);
Object obj = null;
try
{
while((obj = decoder . read object())!= null)
{
obj list . add(obj);
}
}
catch(異常e)
{
// TODO自動生成的catch塊
}
fis . close();
decoder . close();
返廻objList
}
}

位律師廻複

生活常識_百科知識_各類知識大全»JAVA對象序列化保存爲XML文件的工具類

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情