java序列化与反序列化操作实例分析

 更新时间:2016年10月26日 11:34:33   作者:Wallace  
这篇文章主要介绍了java序列化与反序列化操作,结合实例形式分析了java序列化与反序列化的概念与具体实现技巧,需要的朋友可以参考下

本文实例分析了java序列化与反序列化操作。分享给大家供大家参考,具体如下:

概述:

Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。

示例代码:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
public class Test {
  /**
   * @param args
   */
  public static void main(String[] args) {
    try {
      ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:/objectFile.obj"));
      Customer customer = new Customer("中国人",23);
      out.writeObject("你好!");
      out.writeObject(new Date());
      out.writeObject(customer);
      out.writeInt(123);
      List list = new ArrayList();
      int i =0 ;
      while(i<100) {
        Customer customer2 = new Customer("中国人",i);
        list.add(customer2);
        i++;
      }
      HashMap hashMap = new HashMap();
      hashMap.put("customer", list);
      out.writeObject(hashMap);
      out.close();
      ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:/objectFile.obj"));
      System.out.println("obj1= " + (String) in.readObject());
      System.out.println("obj2= " + (Date) in.readObject());
      Customer obj3 = (Customer) in.readObject();
      System.out.println("obj3= " + obj3);
      int obj4 = in.readInt();
      System.out.println("obj4= " + obj4);
      Object obj5 = in.readObject();
      System.out.println(obj5);
      HashMap hash_map = (HashMap)obj5;
      List l = (List) hash_map.get("customer");
      System.out.println("size: " + l.size());
      for(int ii=0; ii<l.size() -1 ; ii++) {
        Customer c = (Customer)l.get(ii);
        System.out.println(c.getName());
        System.out.println(c.getAge());
      }
      in.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
  }
}
class Customer implements Serializable {
  private static final long serialVersionUID = 1L;
  private String name;
  private int age;
  public String getName() {
    return name;
  }
  public int getAge() {
    return age;
  }
  public Customer(String name, int age) {
    this.name = name;
    this.age = age;
  }
  public String toString() {
    return "name=" + name + ", age=" + age;
  }
}

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Java基于fork/koin类实现并发排序

    Java基于fork/koin类实现并发排序

    这篇文章主要介绍了Java基于fork/koin类实现并发排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 邮件的组织结构介绍 邮件实现详解(三)

    邮件的组织结构介绍 邮件实现详解(三)

    这篇文章主要为大家详细介绍了邮件的组织结构,邮件内容的基本格式和具体细节,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Java并发系列之Semaphore源码分析

    Java并发系列之Semaphore源码分析

    这篇文章主要为大家详细介绍了Java并发系列之Semaphore源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 整理Java的MyBatis框架中一些重要的功能及基本使用示例

    整理Java的MyBatis框架中一些重要的功能及基本使用示例

    这篇文章主要介绍了Java的MyBatis框架中一些重要的功能及基本使用示例整理,MyBatis可以帮助Java程序进行强大的数据库操作,需要的朋友可以参考下
    2016-04-04
  • 浅谈Mybatis中resultType为hashmap的情况

    浅谈Mybatis中resultType为hashmap的情况

    这篇文章主要介绍了浅谈Mybatis中resultType为hashmap的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Springboot传参详解

    Springboot传参详解

    这篇文章主要介绍了Springboot传参的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • springboot断言异常封装与统一异常处理实现代码

    springboot断言异常封装与统一异常处理实现代码

    异常处理其实一直都是项目开发中的大头,但关注异常处理的人一直都特别少,下面这篇文章主要给大家介绍了关于springboot断言异常封装与统一异常处理的相关资料,需要的朋友可以参考下
    2023-01-01
  • springboot工程如何使用阿里云OSS传输文件

    springboot工程如何使用阿里云OSS传输文件

    阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,多种存储类型供选择,全面优化存储成本,非常适合存储非结构化数据,本文给大家介绍springboot工程使用阿里云OSS传输文件的操作,感兴趣的朋友一起看看吧
    2023-08-08
  • Java常用工具类汇总 附示例代码

    Java常用工具类汇总 附示例代码

    这篇文章主要介绍了Java常用工具类汇总 附示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Java Swing实现记事本页面

    Java Swing实现记事本页面

    这篇文章主要为大家详细介绍了Java Swing实现记事本页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论