序列化对象与Xml转换分析报告Word文件下载.docx

上传人:b****8 文档编号:22453394 上传时间:2023-02-04 格式:DOCX 页数:9 大小:339KB
下载 相关 举报
序列化对象与Xml转换分析报告Word文件下载.docx_第1页
第1页 / 共9页
序列化对象与Xml转换分析报告Word文件下载.docx_第2页
第2页 / 共9页
序列化对象与Xml转换分析报告Word文件下载.docx_第3页
第3页 / 共9页
序列化对象与Xml转换分析报告Word文件下载.docx_第4页
第4页 / 共9页
序列化对象与Xml转换分析报告Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

序列化对象与Xml转换分析报告Word文件下载.docx

《序列化对象与Xml转换分析报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《序列化对象与Xml转换分析报告Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

序列化对象与Xml转换分析报告Word文件下载.docx

作者

参与者

起止日期

备注

1.0

2012-8-1---2012-8-3

序列化对象到Xml再返回的研究简要分析

1.1

2012-8-7

修改了Xml针对特殊字符造成的bug(改变xstream定制)------红色字体显著表示

注:

正文部分,只有最后一次变更的内容会以橙色加粗显示。

蓝色下划线标注的为附带的文件及文本帮助,点击直接进入

附录部分,只有最后一次变更的内容会以蓝色显示。

(文字较多橙色刺眼)

目录

0.文档介绍4

0.1文档目的4

0.2文档范围4

0.3读者对象4

0.4参考文献4

0.5术语与缩写解释4

1.序列化对象5

2.IO流5

3.Xstream读写Xml6

4.读写Txt与XML对比10

0.文档介绍

0.1文档目的

实现将数据库中存贮的对象序列化到Xml中去(包含图片的序列化),然后可以解析Xml再获取对象。

0.2文档范围

本文当适用于开发中或者开发后期数据库数据的倒库简要参考。

0.3读者对象

本文档预期读者对象为本项目组的开发人员,也可用于日后维护人员查询。

0.4参考文献

XStream完美转换Xml、JSON,CSND博客园hoojo;

0.5术语与缩写解释

缩写、术语

解释

XStream

xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换

1.序列化对象

将对象的状态信息转换为可以存储或传输的形式的过程。

在序列化期间,对象将其当前状态写入到临时或持久性存储区。

以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

1、序列化目的:

1)、以某种存储形式使自定义对象持久化

2)、将对象从一个地方传递到另一个地方

3)、使程序更具维护性

2、对象序列化简要步骤:

1)、创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输

出流

2)、通过对象输出流的writeObject()方法写对象。

3、对象反序列化的步骤:

1)、创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入

流;

2)、通过对象输入流的readObject()方法读取对象。

2.IO流

流是一个抽象的概念。

当Java程序需要从数据源读取数据时,会开启一个到数据源的流。

数据源可以是文件,内存或者网络等。

同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文件、内存或者网络等。

流的创建是为了更方便地处理数据的输入输出。

流分为字节流和字符流。

字节流也称为原始数据,需要用户读入后进行相应的编码转换。

而字符流的实现是基于自动转换的,读取数据时会把数据按照JVM的默认编码自动转换成字符。

字节流由InputStream和OutputStream处理,而字符流由Reader和Writer处理。

Reader和Writer是Java后加入的处理类,出于让数据的处理更方便的目的.

附录:

JAVA-Io浅析(JAVAIo浅析参考文档)

3.Xstream读写Xml

整体部署及测试概览

应用框架:

xStream框架

准备jar包:

项目一览:

测试结果:

将e盘目录下的6幅图片通过Io流将字节码写入Xml中

通过解析Xml中对象Person属性photo的字节码生成图片到其他目录

过程耗时:

120+-10毫秒

生成Xml预览:

代码参考:

实体类Person---AddressBook--Page

Person对象:

AddressBook节点封装对象:

Page页面对象节点封装:

Util读写Xml方法类:

定制Xml节点属性(改变定制修订了之前特殊字符造成的bug)

方法名

方法参数

方法作用

setXStream

(XStreamstream)

定制Xml

makeXML

(Pagepage)

根据定制和Page对象创建Xml

writeXML

(Strings)

将字节流写进Xml文件

readXML2

(InputStreamin)

XStream解析Xml

readXML

Dom4j解析Xml(注释掉的代码)

Main主测试方法:

实例一个对象:

List<

Person>

list=newArrayList<

();

for(inti=0;

i<

6;

i++){

Personaddress=newPerson();

address.setName("

张"

+i);

address.setAge("

26"

);

address.setSex("

男"

Stringfile1="

e:

/"

+i+"

.jpg"

;

Stringcontent=Image.getRimg(file1);

address.setPhoto(content.toString());

list.add(address);

}

写XMl

/**写Xml文件*/

AddressBookaddes=newAddressBook();

addes.setPersons(list);

Pagepage=newPage();

page.setAddressBook(addes);

Util.writeXML(Util.makeXML(page));

读XML

4.读写Txt与XML对比

项目做了两个解决方案:

第一种:

将图片字符流写入TXT文件,然后解析TXT进行对象的反序列化

第二种:

将图片字节流写入XMl文件,然后解析XML进行对象的反序列化

两者采用上文提到的测试方法耗时存在差距

读写TXT耗时180毫秒左右

读写XML耗时120毫秒左右

查阅了资料没有得到很好的答案,暂时没有见解!

资料附带了两份项目,第一种对应项目:

xstreamDemo

第二种对应项目:

xstreamDemo1

导入之后在e盘根目录下放置6张图片作为测试直接运行Main类即可!

附带了XStream的jar包,帮助文档,版本1.3.1的源码

涉及链接附件均可在115网盘下载

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1