对象的序列化

什么是对象的序列化

当创建对象是,程序运行时他就会存在,但是程序停止时,对象也就消失了。但是如果希望永远的保存这些对象,则可以将对象转为字节数据写入到硬盘上并保存其信息。当对象将被重建时它并且拥有与程序上次运行是拥有的信息相同。这就是对象的序列化。
基本的序列化有两方法产生,一个方法用于序列化对象并将它们写入一个流,另一个方法用于读取流并反序列化对象。
在这里插入图片描述
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();
		}
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python对象序列是指将Python对象为字节流的过程,以便在不同的系统之间传输或存储。通过序列,我们可以将对象保存到磁盘上或通过网络发送给其他计算机。Python提供了pickle模块来实现对象序列和反序列。引用中的链接提供了一个关于序列存储Python对象的示例。 在Python中,变量是对象的引用,可以用多个变量引用同一个对象。因此,通过pickle模块,我们可以轻松地将对象序列到文件中,并在需要时进行反序列。引用中提到,Python在处理经过pickle的对象时非常方便。 我们可以使用pickle模块的dump()函数将对象保存到文件中,然后使用load()函数来读取文件并重新创建对象。在引用的代码示例中,我们可以看到定义了一个Student类,其中包含了初始方法__init__()、保存方法save()和读取方法read(),分别用于初始对象成员、将对象保存到文件和读取文件的内容。 当我们使用pickle.dump()将Student类的对象s1保存到文件时,可以使用pickle.load()来读取文件并返回一个Student类的对象。在引用的代码示例中,通过调用s1.save()将对象保存到文件,然后通过调用print(s1.read())来读取文件并返回对象。 综上所述,Python对象序列是将Python对象为字节流的过程,可以通过pickle模块的dump()函数将对象保存到文件,再通过load()函数读取文件并返回对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python中的对象序列](https://blog.csdn.net/MixJet/article/details/8458101)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python对象序列](https://blog.csdn.net/weixin_55696561/article/details/123633077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值