Java中如何实现对象序列化与反序列化呢?

戚薇 Java经验 发布时间:2023-05-18 08:29:23 阅读数:6359 1
下文笔者讲述java代码实现对象序列化和反序列化的方法及示例分享

对象序列化和反序列化的实现思路

1.定义一个MemoryStream对象
2.定义一个BinaryFormatter对象

序列化:
   使用BinaryFormatter对象中的Serialize方法
      将object对象写入到MemoryStream对象,然后再返回

反序列化
   将字节流加载到MemoryStream对象中
   使用BinaryFormatter对象中的Deserialize方法
      将字节流转换为obj
例:对象序列化和反序列化的示例
//1.序列化 
public static byte[] SerializeObject(object obj)
{
	if (obj == null)
		return null;
	MemoryStream ms = new MemoryStream();
	BinaryFormatter formatter = new BinaryFormatter();
	formatter.Serialize(ms, obj);
	ms.Position = 0;
	byte[] bytes = new byte[ms.Length];
	ms.Read(bytes, 0, bytes.Length);
	ms.Close();
	return bytes;
}

string objectString=System.Convert.ToBase64String(SerializeObject(importedObj));
 
//2.反序列化
public static object DeserializeObject(byte[] bytes)
{
	object obj = null;
	if (bytes == null)
		return obj;
	MemoryStream ms = new MemoryStream(bytes);
	ms.Position = 0;
	BinaryFormatter formatter = new BinaryFormatter();
	obj = formatter.Deserialize(ms);
	ms.Close();
	return obj;
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202305/16843698036511.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者