序列化和反序列化

来源:互联网 发布:iphone数据网络连不上 编辑:程序博客网 时间:2024/05/07 18:22
package com.****.web.util;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * 序列化对象Util * */public final class SerializeUtil {    /**      * 序列化对象     * @param object     * @return      * @throws IOException     */    public static String serializeObject(Object object) throws IOException{       ByteArrayOutputStream baos = new ByteArrayOutputStream();       ObjectOutputStream out = new ObjectOutputStream(baos);       out.writeObject(object);       out.flush();       out.close();       //加密       return new BASE64Encoder().encode(baos.toByteArray());     }    /**      * 反序列化对象     * @param buf     * @return     * @throws IOException     * @throws ClassNotFoundException     */    public static Object deserializeObject(String  buf) throws IOException, ClassNotFoundException{       Object object = null;       ByteArrayInputStream bais = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(buf)); //解码       ObjectInputStream in = new ObjectInputStream(bais);       object = in.readObject();       in.close();           return object;    } }
0 0