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; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。