在研究elchat的时候发现它使用了xStream将聊天信息保存到xml文件中。查看了他的源代码,发现使用起来比Digester方便快捷多了。以后保存对象又多了一件武器了
elchat中读取xml转java对象以及持久化java对象到xml文件代码如下:
static MessageDatabase load(String persistFile) {
MessageDatabase messageDatabase = null;
Reader reader = null;
try {
reader = new FileReader(persistFile);
XStream xstream = new XStream(new JDomDriver());
messageDatabase = (MessageDatabase) xstream.fromXML(reader);
// for upgrade
if (messageDatabase != null) {
messageDatabase.upgrade();
}
}
catch (FileNotFoundException ex) {
;
}
finally {
if (reader != null) {
try {
reader.close();
}
catch (IOException ex) {
log.warn("Exception when closing reader", ex);
}
}
}
if (messageDatabase == null) {
messageDatabase = new MessageDatabase();
messageDatabase.setMessages(new LinkedList());
messageDatabase.setStickyMessages(new LinkedList());
}
messageDatabase.persistFile = persistFile;
return messageDatabase;
}
void persist() {
FileWriter writer = null;
try {
writer = new FileWriter(persistFile);
XStream xstream = new XStream();
xstream.toXML(this, writer);
}
catch (IOException ex) {
log.warn("fail to persist " + persistFile, ex);
}
finally {
if (writer != null) {
try {
writer.close();
}
catch (IOException ex) {
log.warn("Exception when closing writer", ex);
}
}
}
}
xStream详见http://xstream.codehaus.org/
分享到:
相关推荐
有jar包。在附件。全的,代码也有,,直接运行
好用的xStream XML和JAVA对象互相转换的简单示例,内附依赖的xstream-1.3.1.jar和xpp3_min-1.1.4c.jar
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.20 实体类和测试类详见博客 ...
NULL 博文链接:https://forestqqqq.iteye.com/blog/1996095
NULL 博文链接:https://forestqqqq.iteye.com/blog/1993210
NULL 博文链接:https://forestqqqq.iteye.com/blog/1995092
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
XStream测试Demo-xml与java对象的相互转换
Java对象转换成XML字符串 将List集合转换成xml文档 Map集合转换xml文档 用InputStream将XML文档转换成java对象
这个是 对于要把数据库获得的 list 转换成 xml 有了XStream在Java对象和XML之间相互转换 就变得非常容易了 嘿嘿
NULL 博文链接:https://forestqqqq.iteye.com/blog/1996974
Xstream_java对象和xml的互相转换
博客连接 http://blog.csdn.net/zgf1991/article/details/7894427 使用XStream, java Object 与xml之间的转换,以及写入SD卡
使用xStream实现java对象和xml、json的相互转换
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...