package com.serialize.utils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/**
* 序列化工具类
*/
public class SerializeUtil {
/**
* 序列化对象
* @param object
* @return
*/
public static byte[] serialize(Object object) {
ObjectOutputStream oos = null;
ByteArrayOutputStream baos = null;
try {
// 序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
oos.writeObject(object);
byte[] bytes = baos.toByteArray();
return bytes;
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(oos!=null)oos.close();
if(baos!=null)oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* 反序列话对象
* @param bytes
* @return
*/
public static Object unserialize(byte[] bytes) {
ByteArrayInputStream bais = null;
ObjectInputStream ois = null;
try {
// 反序列化
bais = new ByteArrayInputStream(bytes);
ois = new ObjectInputStream(bais);
Object o = ois.readObject();
return o;
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(bais!=null)bais.close();
if(ois!=null)ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}