1.序列化与反序列化
序列化: 将数据结构或对象转换成二进制串的过程
反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程
1.1前提
实现序列化的要求
只有实现了Serializable或Externalizable接口的类的对象才能被序列化,
否则抛出异常。
2.代码
序列化
把对象转为二进制
public byte[] ObjectToByte(Object obj)
{
byte[] bytes = null;
try {
ByteArrayOutputStream bo = new
ByteArrayOutputStream();
ObjectOutputStream(bo);
oo.writeObject(obj);
bytes = bo.toByteArray();
bo.close();
oo.close();
}
catch(Exception e) {
e.printStackTrace();
}
return(bytes);
}
反序列化
把二进制转为对象
private Object ByteToObject(byte[] bytes){
Object obj = null;
try {
//bytearray to object
ByteArrayInputStream bi = new
ByteArrayInputStream(bytes);
ObjectInputStream oi = new ObjectInputStream(bi);
obj = oi.readObject();
bi.close();
oi.close();
}
catch(Exception e) {
e.printStackTrace();
}
return obj;
}
使用
对象 实例=(对象)ByteToObject(byte[])