本文实例分析了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

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 list反序列化_java序列化与反序列化操作实例分析相关推荐

  1. java string 反序列化_java序列化和反序列化

    引语: 平时我们在运行程序的时候,创建的对象都在内存中,当程序停止或者中断了,对象也就不复存在了.如果我们能将对象保存起来,在需要使用它的时候在拿出来使用就好了,并且对象的信息要和我们保存 时的信息一 ...

  2. python3.5怎么打开_Python3.5文件修改操作实例分析

    Python3.5文件修改操作实例分析 本文实例讲述了Python3.5文件修改操作.分享给大家供大家参考,具体如下: 1.文件修改的两种方式 (1)像vim一样将文件加载到内存中,修改完之后再写回源 ...

  3. python查询oracle数据库_python针对Oracle常见查询操作实例分析

    本文实例讲述了python针对Oracle常见查询操作.分享给大家供大家参考,具体如下: 1.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询: ...

  4. 简述php和web交互过程,PHP与Web页面交互操作实例分析

    PHP与Web页面交互操作实例分析,表单,数组,参数,字符串,属性 PHP与Web页面交互操作实例分析 易采站长站,站长之家为您整理了PHP与Web页面交互操作实例分析的相关内容. 本文实例讲述了PH ...

  5. tp5 日期范围查询_tp5(thinkPHP5框架)时间查询操作实例分析,tp5thinkphp5

    tp5(thinkPHP5框架)时间查询操作实例分析,tp5thinkphp5 本文实例讲述了tp5(thinkPHP5框架)时间查询操作.分享给大家供大家参考,具体如下: 在项目中 可能会遇到 跨月 ...

  6. java 序列化 例子_Java序列化和反序列化例子

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段.@H_502_1@ 编程之家小编现在分享给大家,也给大家做个参考.@H_502_1@ /** * 对象序列化与反序列化 * */ impor ...

  7. java反序列化多个对象_java 序列化与反序列化多个对象 抛出异常

    jdk 1.8 IEDA 设置可以追加写入后,向目标文件序列化多个同一对象,再序列化出来时,因为反序列化时头部信息只读取一次,报出异常. 请问该怎么解决?或者代码写的有问题? import java. ...

  8. 序列化与反序列化_序列化和反序列化JAVA成长之路

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化.把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放 ...

  9. [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

最新文章

  1. 快速记忆python函数-【速学速记】Python 列表生成式的进化:生成器
  2. 裁剪(Clipping)-Window GDI
  3. 恒大全国降价,最低74折,接下来会有其他楼盘跟进降价吗?
  4. barrel-distortion
  5. 我用了20年ERP系统,但是用它做报表,我却后悔了
  6. 随机生成30道四则运算题3—用户可以参与答题,并且有错误提示和计数
  7. POJ 3668 枚举?
  8. dpkg: 错误: 另外一个进程已经为 dpkg frontend lock 加锁
  9. LED数码管结构与工作原理
  10. iOS MOV转MP4
  11. 蓝叠手机模拟器使用技巧
  12. 360影视大全 python_爬取360影视排行榜-总榜
  13. Vue — transition实现过渡动画
  14. 最新版Eclipse2020创建项目红叉问题(“Failed to init ct.sym ...\jrt-fs.jar )
  15. redis集群在mac本地重启
  16. iPhone手机必备宝藏APP
  17. 蓝牙BQB认证介绍详情
  18. Unity InputField输入框调用win10平板虚拟键盘
  19. python 绘制 3D 曲面
  20. [ASP.NET网站开发] web程序设计,期末作业,问卷填写与学生选课管理系统(超简单,容易懂!课程考核必过)(使用内置数据库)

热门文章

  1. ▽算符在球坐标系_球坐标系下的角动量算符
  2. oracle显性游标,Oracle高级显式游标的使用
  3. 多目标跟踪FairMOT笔记
  4. android camera2获取摄像头支持的分辨率
  5. carafe 上采样
  6. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法
  7. only one element tensors can be converted to Python scalars
  8. python where 多条件
  9. minist读取一张图片
  10. java单例模式-有用的模式