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;
/**
*使用XML文件访问可序列化对象的类
*提供保存和读取的方法
* @作者尹进
*清华大学汽车工程开发研究院@ 2005
* @ 1.0版[/br 2005-8-5 16:44:49
*/
公共类对象到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();
}
/**
*读取objSource指定的XML文件中序列化保存的对象, 返回的结果已被List
* @param objSource包含所有文件路径的文件全名
* @返回由存储在XML文件中的对象(可能是一个或多个序列化的已保存对象)组成的列表
* @ throws FileNotFoundException指定的对象读取资源不存在
* @throws IOException读取错误
* @throws Exception出现其他运行时异常
*/
公共静态列表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
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » JAVA对象序列化保存为XML文件的工具类

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情