文档章节

对象序列化与反序列化

scooplol
 scooplol
发布于 2017/08/14 10:54
字数 221
阅读 11
收藏 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
粉丝 12
博文 103
码字总数 205785
作品 0
南充
程序员
私信 提问
《CLR Via C#》读书笔记:24.运行时序列化

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

myzony
11/04
0
0
PHP反序列化漏洞系列之–PHP序列化和反序列化原理

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

fobnn
08/27
0
0
Java序列化

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

德彪
2017/11/25
0
0
Python模块学习 ---- pickle, cPickle 对象序列化/反序列化

上次学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递归引用)的对...

索隆
2012/05/04
0
0
面试之Java序列化

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

java开发
2017/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

颜色模型与颜色应用---光的特性

电磁频谱 颜色的心理学特征

中国龙-扬科
21分钟前
2
0
android音频及强噪相关

Android AudioRecord和AudioTrack介绍(Android音频收集和播放 麦克风降噪) https://blog.csdn.net/tanningzhong/article/details/72844559 音频采集(AudioRecorder) https://www.jianshu.......

whoisliang
28分钟前
2
0
redis-持久化

RDB rdb持久化是把当前进程数据生成快照保存到磁盘的过程。触发RDB持久化过程分为手动触发和自动触发。 触发机制 bgsave执行流程 rdb优缺点 AOF 记录每次写命令,重启时再重新执行aof文件中的...

grace_233
33分钟前
3
0
电话激活Windows 中文操作系统步骤

已购买微软MAK批量授权,系统又在企业内网中,无法通过连接Internet进行激活,还可以通过电话完成激活。 前期准备 请提前准备好产品密钥,Product Key格式如下:XXXXX-XXXXX-XXXXX-XXXXX-XXX...

tonyfox
35分钟前
4
0
Apache用户认证,域名跳转,访问日志

Apache用户认证 当设置了用户认证后,用户访问网站时,需要输入用户名和密码才能访问。 可以全局设置,也可以为某几个虚拟主机单独配置。 下面以全局配置进行操作示例。 编辑httpd.conf进行配...

野雪球
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部