1、概念
序列化对象:将对象转换成字节流
反序列化对象:将字节流转换成对象
2、javaApi实现序列化和反序列化
/**
* 对象序列化
* @param object 待序列化的对象
* @return 序列化后得到的数组
*/
public static byte[] serialize(Object object){
if(object==null){
return null;
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(object);//讲对象写入输出流
byte[] bytes = bos.toByteArray();
return bytes;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 反序列化对象
* @param bytes 待反序列化的数组
* @return 反序列化后的对象
*/
public static Object unserialize(byte[] bytes){
if(bytes==null){
return null;
}
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
try {
ObjectInputStream ois = new ObjectInputStream(bais);
Object object = ois.readObject();//输入流读取对象
return object;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}