序列化和反序列化

来源:互联网 发布:沈阳贵德软件电话 编辑:程序博客网 时间:2024/06/01 07:49

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[])
原创粉丝点击