Cyh的博客
Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220
导航
BlogJava
首页
新随笔
联系
聚合
管理
公告
一直努力努力努力,像奴隶奴隶奴隶!~~
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
随笔档案
(25)
2011年5月 (1)
2010年4月 (12)
2010年1月 (1)
2009年12月 (2)
2009年6月 (1)
2009年4月 (4)
2009年2月 (4)
文章分类
(219)
Android(26)
DB(5)
J2EE(31)
J2SE(79)
JavaScript(15)
others(47)
SOA&Web Service(1)
中间件(1)
软件工程(12)
软件架构(2)
文章档案
(220)
2011年8月 (1)
2010年12月 (23)
2010年11月 (2)
2010年8月 (5)
2010年7月 (2)
2010年6月 (2)
2010年5月 (1)
2010年4月 (12)
2010年3月 (28)
2010年2月 (5)
2010年1月 (23)
2009年12月 (39)
2009年6月 (14)
2009年5月 (31)
2009年3月 (2)
2009年2月 (29)
2009年1月 (1)
新闻档案
(66)
2010年10月 (1)
2010年9月 (5)
2010年8月 (11)
2010年7月 (21)
2010年6月 (13)
2010年5月 (8)
2010年4月 (5)
2009年11月 (2)
相册
Ryan
收藏夹
(7)
JAVA(7)
最新随笔
1. 集成FCKeditor 3.5.3
2. android自适应屏幕方向和大小
3. Android游戏开发之旅(二十) 双按事件捕获
4. Android游戏开发之旅(十八) SoundPool类
5. Android游戏开发之旅(十九) 分辨率大全
6. Android游戏开发之旅(十七) 图像渐变特效
7. Android游戏开发之旅(十六) 异步音乐播放
8. Android游戏开发之旅(十四) 游戏开发实战一
9. Android游戏开发之旅(十五) 按键中断处理
10. Android游戏开发之旅(十二)Sensor重力感应(2)
搜索
最新评论
1. re: struts2 checkboxlist标签的使用
同居同意同意
--yuk
2. re: struts2 checkboxlist标签的使用
ss
--d
3. re: JavaMail(4)--使用POP3接收邮件
邮件信息可以打印出来,可是下载邮件会出错是什么原因?
--琳喵喵0721
4. re: JavaMail(4)--使用POP3接收邮件
评论内容较长,点击标题查看
--流风
5. re: 操作PDF文件
评论内容较长,点击标题查看
--ly.wolf
阅读排行榜
1. struts2 checkboxlist标签的使用(18226)
2. struts2异常拦截器(5857)
3. struts2迭代标签(3845)
4. 用freemind 秒杀Spring Security(1914)
5. 加载顺序会影响对spring bean 的调用。(1489)
对象与XML的转换
Posted on 2009-12-20 20:40
啥都写点
阅读(282)
评论(0)
编辑
收藏
所属分类:
J2SE
本例介绍如何将一个对象输出到XML文档,再从XML文档中读取到内存,把一个描述学生的对象输出到XML文档,然后从XML文档中读取学生信息到内存。
java.beans.XMLEncoder是XML编码器,它的writeObject方法能把对象以XML的格式输出到文件中。
java.beans.XMLDecoder是XML解码器,它的readObject方法能把XML文档的内容读到对象中。注意,它只能解码用XMLEncoder生成的XML文档。
XMLEncoder和XMLDecoder相当于对象的序列化和反序列化,只不过它以XML的格式序列化对象。
import
java.beans.XMLDecoder;
import
java.beans.XMLEncoder;
import
java.io.BufferedInputStream;
import
java.io.BufferedOutputStream;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileNotFoundException;
import
java.io.FileOutputStream;
import
java.io.IOException;
/** */
/**
* 根据对象生成XML文档.
* 使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder类。
* 这是JDK 1.4以后才出现的类
*/
public
class
Object2XML
{
/** */
/**
* 对象输出到XML文件
*
@param
obj 待输出的对象
*
@param
outFileName 目标XML文件的文件名
*
@return
返回输出XML文件的路径
*
@throws
FileNotFoundException
*/
public
static
String object2XML(Object obj, String outFileName)
throws
FileNotFoundException
{
//
构造输出XML文件的字节输出流
File outFile
=
new
File(outFileName);
BufferedOutputStream bos
=
new
BufferedOutputStream(
new
FileOutputStream(outFile));
//
构造一个XML编码器
XMLEncoder xmlEncoder
=
new
XMLEncoder(bos);
//
使用XML编码器写对象
xmlEncoder.writeObject(obj);
//
关闭编码器
xmlEncoder.close();
return
outFile.getAbsolutePath();
}
/** */
/**
* 把XML文件解码成对象
*
@param
inFileName 输入的XML文件
*
@return
返回生成的对象
*
@throws
FileNotFoundException
*/
public
static
Object xml2Object(String inFileName)
throws
FileNotFoundException
{
//
构造输入的XML文件的字节输入流
BufferedInputStream bis
=
new
BufferedInputStream(
new
FileInputStream(inFileName));
//
构造一个XML解码器
XMLDecoder xmlDecoder
=
new
XMLDecoder(bis);
//
使用XML解码器读对象
Object obj
=
xmlDecoder.readObject();
//
关闭解码器
xmlDecoder.close();
return
obj;
}
public
static
void
main(String[] args)
throws
IOException
{
//
构造一个StudentBean对象
StudentBean student
=
new
StudentBean();
student.setName(
"
wamgwu
"
);
student.setGender(
"
male
"
);
student.setAge(
15
);
student.setPhone(
"
55556666
"
);
//
将StudentBean对象写到XML文件
String fileName
=
"
AStudent.xml
"
;
Object2XML.object2XML(student, fileName);
//
从XML文件读StudentBean对象
StudentBean aStudent
=
(StudentBean)Object2XML.xml2Object(fileName);
//
输出读到的对象
System.out.println(aStudent.toString());
}
}
--
学海无涯
Powered by:
BlogJava
Copyright © 啥都写点