文档章节

对象序列化与反序列化

scooplol
 scooplol
发布于 2017/08/14 10:54
字数 221
阅读 10
收藏 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
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
Java序列化之Serializable

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

村长大神
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

百度贴吧发送gif图片的限制

百度贴吧中不可以发送超过500k的gif图片,同时尺寸不能超过700个像素。

gugudu
23分钟前
1
0
eclipse中查找所有汉字

今天遇到需要对中文翻译为英文的情况,需要查找一下项目中出现的所有汉字。我们可以使用快捷键Ctrl+H,在搜索一栏输入:[^\x00-\xff],记得勾选正则表达式。 备注: [\x00-\xff] 是 0 - 255的...

hengbao5
24分钟前
2
0
HBase常用操作命令

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,...

飓风2000
28分钟前
2
0
天创恒达TC TC6C0更新固件包

天创恒达TC TC6C0 升级完 登录密码 admin、000000

yizhichao
30分钟前
2
0
阿里云总裁胡晓明:“这些新杭州故事,明天将会在更多城市发生”

摘要: 9月19日,2018杭州·云栖大会现场,杭州城市大脑2.0正式发布,管辖范围扩大28倍,覆盖面积增至420平方公里,相当于65个西湖大小。 ET城市大脑等数字化城市解决方案,掀开了“杭州故事...

阿里云官方博客
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部