`
javaeye_hua
  • 浏览: 82212 次
  • 性别: 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文件。XStream不仅简化了XML与Java对象之间的转换过程,还提高了开发效率。在实际项目中,合理利用XStream可以有效地管理复杂的数据结构。

    使用XStream 多集合生成xml

    XStream是一个强大的库,它提供了将Java对象转换为XML,以及将XML转换回等效Java对象的功能。在这个场景中,"使用XStream多集合生成xml"是一个关键的技术点,它涉及到如何将多个集合类的对象转换成XML文档。以下是对...

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一个强大的库,它由Pete Gyford开发,用于将Java对象序列化为XML,同时也能将XML反序列化为Java...

    xstream-1.4.2.jar

    在配置文件中,复杂的配置对象可以用XML表示,XStream则负责读写这些配置。 总之,XStream是一个强大且灵活的工具,对于处理Java对象与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解析XML实例

    例如,如果`Person`类包含一个`List&lt;String&gt;`的地址列表,XStream会将每个元素转换为一个单独的XML元素。 ```java @XStreamAlias("person") class Person { private String firstName; private String lastName; ...

    xstream-1.4.8最齐全的jar包

    5. **集合处理**:XStream能够自动处理Java集合(如List、Set)和数组,将它们转换成XML的元素列表。 6. **命名空间支持**:XStream可以处理XML的命名空间,方便在复杂的XML文档结构中工作。 7. **安全性**:...

    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学习文档及实例

    XStream 能够将复杂的 Java 对象结构转换成易于读写的 XML 格式,同时也能将 XML 文档还原为对应的 Java 对象。这在数据持久化、网络通信和配置存储等领域有着广泛的应用。XStream 通过提供简单的 API 和自定义转换...

    Java用xStream拼接xml

    xStream可以自动处理集合(List、Set等)和数组,将其转换为XML的元素列表。 **总结** xStream简化了Java对象与XML之间的转换,使得在处理XML数据时,开发者无需关注底层的XML构造细节。在Web Service接口对接时,...

    XStream及依赖包

    6. **流式处理**:XStream支持XML的流式读写,适合处理大量数据。 `xstream-1.2.2.jar`是XStream的主库,包含了所有核心功能。这个版本是1.2.2,虽然不是最新的,但它是经过测试且稳定的版本。它提供了序列化和反...

    xstream1.4.15.JAR

    XStream 是一个流行的 Java 库,用于将对象序列化为 XML 和从 XML 反序列化回对象。这个库广泛应用于各种 Java 应用程序,尤其是那些需要在网络间传输或存储对象数据的情况。在标题提到的 "xstream1.4.15.JAR" 文件...

    xStream完整Jar包

    **XStream 概述** XStream 是一个 Java 库,用于将对象序列化为 XML,以及从 XML 反序列化回对象。它提供了一种简单而直观的方式来处理 XML 数据,使得 XML 文档与 Java 对象之间的转换变得轻而易举。这个“xStream...

    xstream-1.4.5.jar

    xstream xstream-1.4.5.jar

    xstream-1.4-API

    - **集合**: 支持 `List`, `Set`, `Map` 等集合类型,包括泛型版本。 - **自定义对象**: 只需定义好 Java 类,XStream 就能自动处理其属性和嵌套对象。 ### 4. **映射 XML 和 Java 类** - **字段映射(Field ...

    xstream-1.3.1.zip

    《XStream 1.3.1:Java对象到XML的高效转换工具》 XStream是一款强大的Java库,它能够将Java对象序列化为XML,并能从XML反序列化回Java对象。这个“xstream-1.3.1.zip”文件包含了一个名为“xstream-1.3.1.jar”的...

    xstream解析依赖包

    《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和恢复。XStream是一款强大的Java库,用于将Java对象转换为XML,反之亦然,极大地简化了序列化和反序列化的...

    xstream相关的jar包

    XStream是一款强大的Java库,用于将Java对象序列化为XML,反之亦然。这个库的主要优点在于其简单易用的API和对复杂对象图的处理能力。在标题中提到的"Xstream相关的jar包",是指为了使用XStream库,需要引入的依赖...

    android_xStream

    本文将深入探讨如何在Android环境中利用XStream库来实现XML到List类的转换。 XStream是一个开源库,由Johannes Link创建,它提供了一种直观且易于使用的API,将Java对象序列化为XML,反之亦然。其工作原理是通过...

Global site tag (gtag.js) - Google Analytics