序列化:把java对象转换为字节序列的过程
反序列化:把字节序列恢复为java对象的过程
package com.offcn.maven.utils;
import java.io.*;
//ByteArrayOutputStream获取内存缓存中的数据,转换为字节数组
//ByteArrayInputStream读取字节数组
public class SerializableUtil {
public static byte[] serializable(Object object) {
if(object==null){
return null;
}
try {
//1、字节数组输出流
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//2、对象输出流
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
//将对象写入到字节数组中
objectOutputStream.writeObject(object);
//得到写入流中的对象
byte[] bytes = byteArrayOutputStream.toByteArray();
//返回字节数组
return bytes;
}catch (Exception ex){
System.out.println(ex.getMessage());
}
return null;
}
public static Object unSerializable(byte[] bytes) {
if (bytes==null){
return null;
}
//1、字节数组输入流
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
try {
//2、对象输入流
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
//将字节转为对象
Object object = objectInputStream.readObject();
return object;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
本文详细介绍了Java中对象序列化和反序列化的实现过程,包括如何使用ByteArrayOutputStream和ObjectOutputStream将对象转换为字节序列,以及如何通过ByteArrayInputStream和ObjectInputStream将字节序列恢复为Java对象。
2021

被折叠的 条评论
为什么被折叠?



