对象的序列化和反序列化

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

被序列化和反序列化的对象需要实现Serializable接口
/**
 * 对象序列化
 */
public static byte[] serialize(Object obj) {
    ObjectOutputStream obi = null;
    ByteArrayOutputStream bai = null;
    try {
        bai = new ByteArrayOutputStream();
        obi = new ObjectOutputStream(bai);
        obi.writeObject(obj);
        byte[] byt = bai.toByteArray();
        return byt;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

/**
 * 对象反序列化
 * @param byt
 * @return
 */
public static Object unserizlize(byte[] byt) {
    ObjectInputStream oii = null;
    ByteArrayInputStream bis = null;
    bis = new ByteArrayInputStream(byt);
    try {
        oii = new ObjectInputStream(bis);
        Object obj = oii.readObject();
        return obj;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

转载于:https://my.oschina.net/kevin2kelly/blog/860451

你可能感兴趣的:(对象的序列化和反序列化)