对象的序列化

什么是对象的序列化

当创建对象是,程序运行时他就会存在,但是程序停止时,对象也就消失了。但是如果希望永远的保存这些对象,则可以将对象转为字节数据写入到硬盘上并保存其信息。当对象将被重建时它并且拥有与程序上次运行是拥有的信息相同。这就是对象的序列化。
基本的序列化有两方法产生,一个方法用于序列化对象并将它们写入一个流,另一个方法用于读取流并反序列化对象。
在这里插入图片描述
ObjectOutputstream 和 ObjectInputSteam 对象分别需要字节输出流和字节输入流对象来构建对象,因此,这两个对象可以将对象进行本地持久化存储。
在这里插入图片描述
在这里插入图片描述
实现代码:

package com.ycy1;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class Test03 {
	public static void main(String[] args) {
		//请将对员工对象进行序列化和反序列化
		
		
		//序列化
		FileOutputStream fileOutputStream = null;
		try {
			fileOutputStream = new FileOutputStream("E:\\text2.txt");
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
			Employee employee = new Employee("ycy", 20);
			objectOutputStream.writeObject(employee);
			objectOutputStream.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//反序列化
		FileInputStream fileInputStream = null;
		try {
			fileInputStream = new FileInputStream("E:\\text2.txt");
			ObjectInputStream objectinputStream = new ObjectInputStream(fileInputStream);
			Object object = objectinputStream.readObject();
			objectinputStream.close();
			System.out.println(object);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值