最近在做项目的过程中使用到xstream 技术来实现javabean 和xml之间相互转换。
不说废话,对于xstream的学习,在官网进行一步一步的学习,就可以学会,但是还有一部分问题是会在实践过程中会遇到的。
比如汉字乱码问题.
解决方法:
File file= new File("F://back.xml");
InputStreamReader in = null;
String xml = null;
try {
//主要就是这里的设置
in = new InputStreamReader(new FileInputStream(file),Charset.forName("gbk") );
StringBuffer sb = new StringBuffer();
char[] array= new char[1024];
int length = -1;
while((length=in.read(array))!= -1){
sb.append(array, 0, length);
}
in.close();
xml=sb.toString().trim();
System.out.println(xml);
} catch (Exception e) {
// TODO: handle exception
}
XStream xstream = null;
xstream = new XStream( new DomDriver());
xstream.processAnnotations(ResultCallBack.class);
xstream.autodetectAnnotations(true);
ResultCallBack result=(ResultCallBack) xstream.fromXML(xml);
System.out.println(result.getB2bDocumentsId()+"----"+result.getMsg());