文档章节

对象序列化与反序列化

scooplol
 scooplol
发布于 2017/08/14 10:54
字数 221
阅读 12
收藏 0

第一步:定义对象

@SuppressWarnings("serial")
class Person implements Serializable{  //实现Serializable接口
	private String  name;
	private Integer age;
	private Double  height;
	public Person() {
		super();
	}
	public Person(String name, Integer age, Double height) {
		super();
		this.name = name;
		this.age = age;
		this.height = height;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public Double getHeight() {
		return height;
	}
	public void setHeight(Double height) {
		this.height = height;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", height=" + height + "]";
	}
	
} 

第二步:进行序列化与反序列化操作

public class Ser {
     public static void main(String[] args) throws Exception{
    	 ser(new Person("高渐离",33,18.9));
    	 dser();
     }
     public static void ser(Object obj) throws Exception{
    	 FileOutputStream os = new FileOutputStream(new File("D:"+File.separator+"Person.ser"));
    	 // 要输出一个对象,OutputStream只能是字节流,所以对象必须继承Serializable接口
    	 ObjectOutputStream oos = new ObjectOutputStream(os);
    	 oos.writeObject(obj);   // 对象序列化
    	 oos.close();
     }
     public static void dser() throws Exception{
    	 FileInputStream is = new FileInputStream(new File("D:"+File.separator+"Person.ser"));
    	 ObjectInputStream ois = new ObjectInputStream(is);
    	 System.out.println(ois.readObject()); // 对象反序列化
    	 ois.close();
     }
}  

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 多线程实现方式
下一篇: 资源读取配置
scooplol
粉丝 13
博文 103
码字总数 205785
作品 0
南充
程序员
私信 提问
PHP反序列化漏洞系列之–PHP序列化和反序列化原理

0.前言 本文为笃行日常学习记录,web安全php漏洞系列。 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列...

fobnn
2018/08/27
0
0
Java序列化

什么是序列化 所谓的序列化,即把java对象以二进制形式保存到内存、文件或者进行网络传输。从二进制的形式恢复成为java对象,即反序列化。 通过序列化可以将对象持久化,或者从一个地方传输到...

德彪
2017/11/25
0
0
面试之Java序列化

序列化作用: 序列化将对象编码成字节流,主要用于对象的持久化,远程通信,跨进程访问等地方。 java中的序列化机制能够将一个实例对象(只序列化对象的属性值,而不会去序列化什么所谓的方法...

java开发
2017/12/18
0
0
《CLR Via C#》读书笔记:24.运行时序列化

一、什么是运行时序列化 序列化的作用就是将对象图(特定时间点的对象连接图)转换为字节流,这样这些对象图就可以在文件系统/网络进行传输。 二、序列化/反序列化快速入门 一般来说我们通过 ...

myzony
2018/11/04
0
0
Java序列化之Serializable

1.需求 1.什么是Java序列化 2.详解 1.序列化 理解为"打碎"即可 2.在书本上序列化的意思是将Java对象转为二进制 3.java平台允许我们在内存中创建对象,当JVM运行时对象才能存在,如果JVM停止,对...

村长大神
2018/05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
50分钟前
1
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
7
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部