XStream如何系列化反序列化Map

kgold 2009-02-15 09:51:58

XStream xs = new XStream();
序列化成功,反序列化失败,返回空,没有Exception,具体如下:
Map storeMap = new HashMap();
String value1 = "value1";
String value2 = "value2";
storeMap.put("V1", value1);
storeMap.put("V2", value2);
FileOutputStream fs = new FileOutputStream(
"c:/temp/employeedata.txt");
xs.toXML(storeMap, fs);
//序列化OK

Map myMap= new HashMap();
FileInputStream fis = new FileInputStream(
"c:/temp/employeedata.txt");
xs.fromXML(String.valueOf(tt1), (HashMap)myMap);
//反序列化失败,返回空,没有Exception
...全文
540 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
凌霄野鹤 2009-02-15
  • 打赏
  • 举报
回复
看看这个是不是你要的!

public class Test {

public static String getBeanToXML(SourceBean sb){
sb.setUsername("zx");
sb.setConnecturl("http://www.qq.com");
sb.setDatabasename("zx_db");
sb.setMaxactive("21");
sb.setMaxidle("5");

XStream xs=new XStream();
xs.alias("datasource",SourceBean.class);
return xs.toXML(sb);
}

public static SourceBean getXMLtoString(String str){
SourceBean sb=new SourceBean();
try {
XStream xs=new XStream(new DomDriver());
xs.alias("datasource",SourceBean.class);
BufferedReader br=new BufferedReader(new FileReader(str));
sb=(SourceBean) xs.fromXML(br);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return sb;
}
public static void main(String[] args) {
//把 SourceBean类型的对象序列化为 XML
//SourceBean sb=new SourceBean();
//System.out.println(getBeanToXML(sb));

//逆序列化 XML 并把数据装入 Java 对象
String str="c:/source.xml";
SourceBean sb=getXMLtoString(str);
System.out.println(sb.getConnecturl());
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧