`

java可序列化Object到XML文件中

    博客分类:
  • java
 
阅读更多
package com.ftpgw;

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.HashMap;
import java.util.Map;

public class SerializeXMLFile {
    public static void serializeToFile(Object obj,String filePath) {
        try {
            File file=new File(filePath);
            if(!(file.isFile()&&file.exists())){
                file.createNewFile();
            }
          
            FileOutputStream fos = new FileOutputStream(filePath);
            XMLEncoder encoder = new XMLEncoder(fos);
            encoder.writeObject(obj);
            encoder.close();
            fos.close();
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static Object deSerializeFromFile(String filePath) {
        Object obj = null;
        try {
            File file=new File(filePath);
            if(!(file.isFile()&&file.exists())){
                  return null;

            }
            FileInputStream fis = new FileInputStream(filePath);
            XMLDecoder decoder = new XMLDecoder(fis);
            obj= decoder.readObject();
            decoder.close();
            fis.close();
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return obj;
    }
  
    @SuppressWarnings("unchecked")
    public static void main(String[] args) {
        Map map1 = new HashMap();
        map1.put("fileName1", 20001);
        map1.put("fileName2", 20002);
        SerializeXMLFile.serializeToFile(map1,"H:\\map.xml");      
        Map map2=(Map)SerializeXMLFile.deSerializeFromFile("H:\\map.xml");
        for(Object a:map2.keySet()){
            Integer values=(Integer)map2.get(a.toString());
            System.out.println(values.intValue());
        }
    }
}
分享到:
评论

相关推荐

    JAVA对象序列化保存为XML文件的工具类

    以下是一个简单的示例,展示了如何使用`ObjectToXMLUtil`工具类将Java对象序列化到XML文件以及从XML文件中反序列化: ```java public class Test { public static void main(String[] args) { // 创建一个示例...

    Object-XML文件的相互转换分析

    在IT领域,Object-XML文件的相互转换是一个重要的主题,特别是在数据存储、配置管理以及网络通信中。XML(可扩展标记语言)作为一种结构化的数据表示方式,被广泛用于跨平台的数据交换。而对象(Object)是面向对象...

    Java实验7 序列化.doc

    Java序列化是将Java对象转换为字节流的过程,以便可以存储在磁盘上或通过网络进行传输。这个过程对于持久化对象数据、跨进程通信和在网络上传输对象非常有用。在Java中,序列化是通过实现`Serializable`接口来完成的...

    Object转xml或xml转Object

    在Java中,我们可以使用`java.io.Serializable`接口标记对象使其支持序列化,然后通过`java.xml.bind.JAXB`库将对象转换为XML文档。JAXB提供了`Marshaller`类用于对象到XML的转换,而`Unmarshaller`则负责XML到对象...

    高级java 序列化 转储为XML

    总结来说,高级Java序列化至XML是一种将Java对象结构转换为结构化XML文档的技术,主要通过JAXB框架实现。它在数据交换、持久化和API设计中有着广泛的应用。理解并掌握这一技术,将有助于提升你在Java开发中的专业...

    java 常用序列化和反序列化框架使用demo

    Java序列化和反序列化是将对象的状态转换为字节流和从字节流恢复对象状态的过程,这对于数据持久化、网络传输以及跨进程通信等场景至关重要。在Java中,`java.io.Serializable`接口用于标记一个类是可序列化的。然而...

    序列化成xml文件所必须的jar包

    将Java对象序列化成XML文件能够方便地在不同系统间共享数据,尤其是在Web服务和跨平台通信中。 标题中提到的"序列化成xml文件所必须的jar包"指的是用于实现这一功能的Java库。以下是这三个核心jar包的功能和用途: ...

    使用 XStream 把 Java 对象序列化为 XML

    在提供的压缩包中,`sample.xml`可能是使用XStream序列化后的Java对象示例,而`src`目录可能包含了相关的Java源代码,供学习和参考。通过研究这些文件,你可以更深入地理解XStream的工作原理和使用方式。

    android XML文件解析和序列化 demo

    在"android XML文件解析和序列化 demo"中,可能演示了如何创建自定义对象,使用Pull解析器读取XML文件,将数据填充到对象列表,然后使用类似Gson或自定义的方法将对象列表序列化回XML文件。 **代码示例** ```java ...

    java的model,xml序列化(简单的,复杂的)方法都有

    Java模型(Model)和XML序列化是Java开发中常见的数据处理技术,主要用于对象与XML文档之间的转换。在本文中,我们将深入探讨这两种序列化方法,包括简单和复杂的情况。 首先,让我们理解Java Model。在软件工程中...

    java 对象与xml 相互序列化 xml4j (含源码)

    XML4J是一个用于Java对象到XML转换的工具,它提供了方便的方法将Java对象序列化为XML文档,同时也能从XML文档中反序列化恢复Java对象。这个过程涉及到Java的反射机制、XML解析器以及DOM(Document Object Model)...

    webservice之使用jaxb把xml转换Object或把对象转换成xml文件

    2. 序列化XML:使用`Marshaller`接口将Java对象转换为XML文档。例如: ```java JAXBContext jaxbContext = JAXBContext.newInstance(User.class); Marshaller marshaller = jaxbContext.createMarshaller(); ...

    使用XStream, java Object 与xml之间的转换,以及写入SD卡

    在Java开发中,数据序列化和反序列化是常见的需求,尤其在持久化存储或网络传输时。XStream是一款强大的库,它使得Java对象与XML之间的转换变得简单易行。本篇文章将深入探讨如何利用XStream进行Java对象到XML的转换...

    XStream实现Object与XML转换解决方案

    标题中的“XStream实现Object与XML转换解决方案”指的是一个Java库——XStream,它提供了一种简单的方法来序列化和反序列化Java对象到XML,反之亦然。这个库广泛用于将程序数据保存到XML文件或者从XML数据恢复对象,...

    java xml.java操作XML文档

    JAXB允许我们在Java类和XML之间自动映射,简化了数据序列化和反序列化的过程。 6. Transformer API: 提供了将XML文档转换成其他格式(如HTML或文本)的能力。`javax.xml.transform.Transformer`和`javax.xml....

    xml文件自动转成java对象工具

    总之,XML文件自动转成Java对象工具是Java开发中不可或缺的一部分,它极大地简化了XML数据处理,提高了开发效率。通过理解和利用这类工具,开发者可以更专注于业务逻辑,而非基础的数据转换工作。

    JAXB工具类 xml转为java对象 java对象转为xml

    这允许开发者在Java应用中存储和序列化数据为XML格式,同时保持代码的简洁性和可维护性。JAXB的核心组件包括: 1. **Unmarshaller**: 负责将XML文档解析为Java对象。 2. **Marshaller**: 将Java对象转换为XML文档。...

    java_xml_api,java操作XML文档

    总结起来,Java XML API提供了全面的XML处理能力,涵盖了从解析到操作再到序列化的各个方面。开发者可以根据XML文档的大小、复杂性和应用场景,选择合适的解析方式,并利用JAXB等技术提高开发效率。同时,了解和掌握...

    XML操作 面向对象其一(封装) 序列化 反序列化 练习

    在Java中,我们可以使用`Transformer`和`DOMSource`来实现对象到XML的序列化。反序列化则是相反的过程,将XML数据转换回对象。Java提供了`DocumentBuilderFactory`和`DocumentBuilder`来解析XML字符串,并通过反射...

    java中读写XML文件

    首先,我们需要引入处理XML文件的Java API,即Java的DOM(Document Object Model)和SAX(Simple API for XML)解析器。DOM解析器将整个XML文档加载到内存中,形成一个树形结构,便于遍历和操作。而SAX解析器则采用...

Global site tag (gtag.js) - Google Analytics