`
javaeye_hua
  • 浏览: 78904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xstream list读写

阅读更多
/**
 * 
 */
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;
	}
	
}

 

1
0
分享到:
评论

相关推荐

    利用XStream读写xml文件

    利用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 最齐全的xstream1.4.8.jar ...

    xstream-1.4.15.jar

    XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...

    xstream最新版 - xstream-1.4.18.jar

    xstream最新版jar包

    xstream-1.4.19.jar

    xstream-1.4.19.jar

    xstream-1.4.11-API文档-中文版.zip

    赠送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组件进行Object与XML互转用法

    xStream.aliasField("ADDLIST", Person.class, "addlist"); xStream.aliasField("Add", Address.class, "add"); xStream.aliasField("Job", Profile.class, "job"); 注:如果没有特殊要求最好不要配置属性...

    解决XStream注解同名冲突

    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-1.4.20.jar

    xstream-1.4.jar

    xstream jar包,java对象转xml以及xml转java对象,操作很简单。

    XStream Java下的使用

    XStream Java Android下的使用.有读写相关的测试.

    XStream XML与Json转换

    XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...

    xstream1.22.jar

    xstream 1.2 ,xstream 1.2.2.jar xstream 1.2 ,xstream 1.2.2.jar

    XStream解析XML实例

    XStream解析XML实例

    XStream DOC

    XStream DOC

    xstream-1.4.7.jar

    xstream-1.4.7.jar XML

    xstream-1.4.2.jar

    xstream-1.4.2.jar,官网上也有,由于本人分没了,希望有分的同志给点分。如果你也每份,请上官网下,地址:http://xstream.codehaus.org/download.html

    xstream-1.4.5.jar

    xstream xstream-1.4.5.jar

    xstream-1.4.2

    xstream-1.4.2

    android_xStream

    使用xStream 将xml转list类

Global site tag (gtag.js) - Google Analytics