Java中如何实现对象序列化与反序列化呢?
下文笔者讲述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;
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


