- 浏览: 239068 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
rq2_79:
Solr DataImportHandler增量方式导入时,有 ...
solr Data Import Request Handler -
rq2_79:
http://developer.51cto.com/col/ ...
JVM加载Class过程分析 -
chenfei3306:
感谢楼主的分析,现在对hql的解析有了大体的认识了
hibernate 的HQL源码分析 -
四个石头:
...
试用log4jdbc -
dongbiying:
真让人无耐呀!你觉得是不是jar的问题呀!
RetroGuard学习指南
java 代码
- import java.beans.XMLDecoder;
- import java.beans.XMLEncoder;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- public class ObjectToXMLUtil {
- /**
- * 把java的可序列化的对象(实现Serializable接口)序列化保存到XML文件里面,如果想一次保存多个可序列化对象请用集合进行封装
- * 保存时将会用现在的对象原来的XML文件内容
- *
- * @param obj
- * 要序列化的可序列化的对象
- * @param fileName
- * 带完全的保存路径的文件名
- * @throws FileNotFoundException
- * 指定位置的文件不存在
- * @throws IOException
- * 输出时发生异常
- * @throws Exception
- * 其他运行时异常
- */
- public static void objectXmlEncoder(Object obj, String fileName) {
- // 创建输出文件
- File fo = new File(fileName);
- // 文件不存在,就创建该文件
- if (!fo.exists()) {
- // 先创建文件的目录
- String path = fileName.substring(0, fileName.lastIndexOf('.'));
- File pFile = new File(path);
- pFile.mkdirs();
- }
- // 创建文件输出流
- FileOutputStream fos = null;
- XMLEncoder encoder = null;
- try {
- fos = new FileOutputStream(fo);
- // 创建XML文件对象输出类实例
- encoder = new XMLEncoder(fos);
- // 对象序列化输出到XML文件
- encoder.writeObject(obj);
- encoder.flush();
- // 关闭序列化工具
- encoder.close();
- // 关闭输出流
- fos.close();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (encoder != null) {
- encoder.close();
- }
- if (fos != null) {
- try {
- fos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- /**
- * 读取由objSource指定的XML文件中的序列化保存的对象,返回的结果经过了List封装
- *
- * @param objSource
- * 带全部文件路径的文件全名
- * @return 由XML文件里面保存的对象构成的List列表(可能是一个或者多个的序列化保存的对象)
- * @throws FileNotFoundException
- * 指定的对象读取资源不存在
- * @throws IOException
- * 读取发生错误
- * @throws Exception
- * 其他运行时异常发生
- */
- public static List objectXmlDecoder(String objSource) {
- List objList = new ArrayList();
- File fin = new File(objSource);
- FileInputStream fis = null;
- XMLDecoder decoder = null;
- try {
- fis = new FileInputStream(fin);
- decoder = new XMLDecoder(fis);
- Object obj = null;
- while ((obj = decoder.readObject()) != null) {
- objList.add(obj);
- }
- fis.close();
- decoder.close();
- } catch (Exception e1) {
- e1.printStackTrace();
- } finally {
- if (decoder != null) {
- decoder.close();
- }
- if (fis != null) {
- try {
- fis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return objList;
- }
- }
评论
1 楼
rq2_79
2007-10-12
import java.beans.XMLDecoder; import java.beans.XMLEncoder; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.log4j.Logger; /** * * Bean与Xml转换方法类 * * @author rq2. * @version 1.0.0, 2007-09-14 * @see * @since * */ public class BeanXml { private static Logger logger = Logger .getLogger("BeanXml"); /** * Bean转换成Xml * * @param object * @return */ public static String Bean2Xml(Object object) { String beanXml = ""; ByteArrayOutputStream out = null; XMLEncoder encoder = null; try { out = new ByteArrayOutputStream(); encoder = new XMLEncoder(out); // 对象序列化输出到XML文件 encoder.writeObject(object); encoder.flush(); // 关闭序列化工具 encoder.close(); // 关闭输出流 out.flush(); beanXml = new String(out.toByteArray(), "utf-8"); out.close(); } catch (Exception e) { logger.error("Bean2Xml转换失败"); } finally { if (encoder != null) { encoder.close(); } if (out != null) { try { out.close(); } catch (IOException e) { logger.error("Bean2Xml转换失败"); } } } return beanXml; } /** * Xml转换成Object * * @param xml * @return */ public static Object Xml2Bean(String xml) { Object object = null; ByteArrayInputStream input = null; XMLDecoder decoder = null; try { input = new ByteArrayInputStream(xml.getBytes("utf-8")); decoder = new XMLDecoder(input); object = decoder.readObject(); input.close(); decoder.close(); } catch (Exception e) { logger.error("Xml2Bean转换失败"); } finally { if (decoder != null) { decoder.close(); } if (input != null) { try { input.close(); } catch (IOException e) { logger.error("Xml2Bean转换失败"); } } } return object; } }
发表评论
-
Java线程:线程状态的转换
2012-03-14 19:45 1232http://lavasoft.blog.51cto.co ... -
深入探索 高效的Java异常处理框架
2012-02-16 18:04 1274摘要:本文从Java异常最 ... -
spring ioc原理
2012-02-05 21:24 1237最近,买了本Spring入门书:spring In Actio ... -
JAVA IO 设计模式彻底分析
2012-02-05 15:15 1177一。引子(概括地介绍Java的IO) 无论是哪种编程 ... -
JAVA集合小结
2012-02-05 15:03 708AVA集合小结 下面是我自己画的,关系画得没 ... -
JVM加载Class过程分析
2012-02-05 13:45 1350我们知道, JVM是通过调用一个 Class类得 ... -
在实践中使用Jstat监控gc情况
2011-11-10 15:49 917性能测试过程中,我们该如何监控java虚拟机内存的使用情况, ... -
java内存溢出类型
2011-08-26 16:09 673一、内存溢出类型 1、java.lang.OutOfMe ... -
Quartz
2009-12-18 11:02 815"0 0 12 * * ?" 每天中午12 ... -
Apache Commons Pool
2009-11-20 18:05 1895Apache Commons Pool高级配 ... -
几种开源Java Web容器线程池的实现方法简介
2007-11-27 15:49 1339http://tenyears.cn/index.php/20 ... -
Java 接口大全、面向接口编程、什么时候使用接口。选择Java接口还是抽象类
2007-11-23 11:17 1013什么叫面向接口编程[作者:umlchina 转贴自:www.u ... -
比较分析Vector、ArrayList和hashtable hashmap数据结构
2007-11-19 13:48 1658线性表,链表,哈希表 ... -
Bean生成方法类
2007-10-12 13:38 1240java 代码 import java.bea ... -
RetroGuard学习指南
2007-09-28 13:28 39811.类包下载 http://www.retrologic.co ...
相关推荐
有了这个Java类,你可以使用Unmarshaller将XML字符串或文件解析为Java对象: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.File; public class Main { ...
5. **生成序列化和反序列化代码**:为了方便XML数据和Java对象之间的转换,工具还会生成解析XML和生成XML的代码,通常是基于JAXB(Java Architecture for XML Binding)或其他类似库。 除了XSD转Java,有些工具还...
默认情况下,序列化会保存对象的所有实例变量,但不包括静态变量。这是因为静态变量属于类,而非特定的对象实例。序列化时,只有那些非transient和非static的字段会被写入字节流。 3. **自定义序列化行为** ...
将Java对象序列化成ISO-8859-1、Base64字节流和Xml字符串三种方式。
Java对象序列化是Java平台提供的一种机制,允许将对象的状态转换为字节流,以便存储在磁盘上、通过网络传输或在不同时间点恢复。这个过程涉及到将一个复杂的Java对象模型转换为简单的二进制表示,使得数据可以在不同...
Java序列化是Java平台中的一种持久化机制,它允许对象的状态被转换成字节流,以便存储、在网络上传输或在以后的时间恢复。这个过程被称为序列化,而反过程称为反序列化。在Java中,如果一个对象需要支持序列化,那么...
- 安全性:由于XStream可以直接反序列化XML到任意对象,可能存在安全风险,因此在处理不受信任的输入时应谨慎。 博客链接可能提供了更多关于如何使用XStream的实际示例和最佳实践。在实际项目中,了解并熟练掌握...
在Android中,对象序列化到XML通常涉及到`XmlSerializer`类,这是`java.io.IOException`的子类,提供了一种将Java对象写入XML输出流的方法。这个过程包括以下几个步骤: 1. **创建XMLSerializer实例**:首先,你...
XML4J是一个用于Java对象到XML转换的工具,它提供了方便的方法将Java对象序列化为XML文档,同时也能从XML文档中反序列化恢复Java对象。这个过程涉及到Java的反射机制、XML解析器以及DOM(Document Object Model)...
反之,如果你有一个XML字符串,可以使用XStream将其反序列化回Java对象: ```java String xmlInput = "<person><name>John</name><age>30</age></person>"; Person deserializedPerson = (Person) xstream.fromXML...
XStream对象序列化是一种在Java应用程序中将Java对象转换为XML格式的过程,这主要通过XStream库实现。这个库提供了一种简洁的方式来处理对象到XML的转换,反之亦然,而不需要复杂的配置或对对象进行特定的修改。...
1.[工具类] 读取、打印输出、保存xml .java 2.[工具类] Java中计算任意两个...8.[工具类] 序列化保存为XML文件的工具类 .java 9.[工具类] 验证码img .jsp 10.[工具类] 中文验证.jsp ......... 等等20几个常用工具类.
这个"android XML文件解析和序列化 demo"旨在教你如何处理XML数据,包括解析XML文件以获取信息并将其存储为对象,以及将这些对象序列化回XML文件。下面我们将详细探讨这两个关键过程。 **XML解析** 1. **DOM解析器...
[工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] 日期DateUtil.java [工具类] 文件...
3. **序列化**:创建序列化器实例,调用其方法将对象转换为XML字符串或写入文件。 4. **反序列化**:从XML字符串或文件中读取数据,反序列化回Java对象。 在实际项目中,XML序列化器可以用于保存应用状态、持久化...
2. 序列化XML:使用`Marshaller`接口将Java对象转换为XML文档。例如: ```java JAXBContext jaxbContext = JAXBContext.newInstance(User.class); Marshaller marshaller = jaxbContext.createMarshaller(); ...
在Java中,`javax.xml.bind.JAXBContext` 和 `javax.xml.bind.Marshaller/Unmarshaller` 是关键接口,用于实现Java对象到XML的序列化和反序列化。 4. **StAX(Streaming API for XML)** StAX是一种流式API,介于...
在Java编程中,持久化是将数据保存到可长期存储的介质中,以便在后续的程序运行中可以恢复和使用这些数据。JavaBean和XML在Java持久化中扮演着重要的角色。JavaBean是一种符合特定规范的Java类,通常用于封装数据,...
XStream 是一种序列化工具而不是数据绑定工具,就是说不能从 XML 或者 XML Schema Definition (XSD) 文件生成类。 和其他序列化工具相比,XStream 有三个突出的特点: XStream 不关心序列化/逆序列化的类的字段的...