/**
*
*/
package com.automic.commu.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.automic.commu.bo.Data;
import com.automic.commu.bo.DataPackage;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
/**
* @author hxb
*
*/
public class OperatorXml {
private XStream xstream;
public OperatorXml(){
if(xstream == null){
xstream = new XStream(new DomDriver());
}
}
/**
* @return 生成xml
*/
public void createXml(){
String xmlName = System.currentTimeMillis() + ".xml";
/********/
DataPackage dp = new DataPackage();
ArrayList<Data> das = new ArrayList<Data>(0);
Data d1 = new Data();
Data d2 = new Data();
d1.setGprsId("12345678991");
d1.setMeterNo("我说");
d1.setDateTime("2009-08-14 12:00:00");
d2.setGprsId("12345678992");
d2.setMeterNo("1100008892");
d2.setDateTime("2009-09-15 12:00:00");
das.add(d1);
das.add(d2);
dp.setDatas(das);
xstream.alias(DataPackage.DATAPACKAGE, DataPackage.class);
xstream.alias(DataPackage.DATA, Data.class);
try {
FileOutputStream fos = new FileOutputStream(new File(DataPackage.XMLSAVEDIR + xmlName));
OutputStreamWriter osr = new OutputStreamWriter(fos,Charset.forName("GBK"));
xstream.toXML(dp, osr);
System.out.println("文件生成完毕!!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*******/
}
/**
* @param fis 读取xml
*/
@SuppressWarnings("deprecation")
public void readXml(){
File f = new File(DataPackage.XMLSAVEDIR);
if(f != null){
File[] fs = f.listFiles();
for(int i = 0;fs != null && i < fs.length;i++){
File ftemp = fs[i];
System.out.println(ftemp.getName());
xstream.alias(DataPackage.DATAPACKAGE, DataPackage.class);
xstream.alias(DataPackage.DATA, Data.class);
try {
DataPackage dp = (DataPackage)xstream.fromXML(new InputStreamReader(new FileInputStream(ftemp),Charset.forName("GBK")));
ArrayList<Data> das = dp.getDatas();
for(int k = 0;das != null && k < das.size();k++){
Data da = das.get(k);
System.out.println(da.getGprsId() + "-" + da.getMeterNo() + "-" + da.getDateTime());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* @param args0
*/
public static void main(String[] args0){
OperatorXml tx = new OperatorXml();
// tx.createXml();
tx.readXml();
}
/**
* @author hxb
*
*/
}
/**
*
*/
package com.automic.commu.bo;
import java.util.ArrayList;
/**
* @author hxb
*
*/
public class DataPackage {
public final static String DATAPACKAGE = "dataPackage";
public final static String DATA = "data";
public final static String XMLSAVEDIR = ".\\xml\\";
private ArrayList<Data> datas;
public ArrayList<Data> getDatas() {
return datas;
}
public void setDatas(ArrayList<Data> datas) {
this.datas = datas;
}
}
/**
*
*/
package com.automic.commu.bo;
/**
* @author hxb
*
*/
public class Data {
private String gprsId;
private String meterNo;
private String dateTime;
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
public String getGprsId() {
return gprsId;
}
public void setGprsId(String gprsId) {
this.gprsId = gprsId;
}
public String getMeterNo() {
return meterNo;
}
public void setMeterNo(String meterNo) {
this.meterNo = meterNo;
}
}
分享到:
相关推荐
利用XStream读写xml文件
最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...
XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...
xstream最新版jar包
xstream-1.4.19.jar
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
xStream.aliasField("ADDLIST", Person.class, "addlist"); xStream.aliasField("Add", Address.class, "add"); xStream.aliasField("Job", Profile.class, "job"); 注:如果没有特殊要求最好不要配置属性...
com.thoughtworks.xstream.converters.ConversionException: No field 'null' found in class '.....(注解的类路径)' ---- Debugging information ---- message : No field 'null' found in class '.....' cause...
xstream-1.4.20.jar
xstream jar包,java对象转xml以及xml转java对象,操作很简单。
XStream Java Android下的使用.有读写相关的测试.
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
xstream 1.2 ,xstream 1.2.2.jar xstream 1.2 ,xstream 1.2.2.jar
XStream解析XML实例
XStream DOC
xstream-1.4.7.jar XML
xstream-1.4.2.jar,官网上也有,由于本人分没了,希望有分的同志给点分。如果你也每份,请上官网下,地址:http://xstream.codehaus.org/download.html
xstream xstream-1.4.5.jar
xstream-1.4.2
使用xStream 将xml转list类