zoukankan      html  css  js  c++  java
  • Java 序列化工具类

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    
    /**
     * 序列化工具类
     */
    public class SerializeUtil {
        private final static Logger logger = LoggerFactory.getLogger(SerializeUtil.class);
    
        public static String serialize(Object object) {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            ObjectOutputStream oos = null;
            try {
                oos = new ObjectOutputStream(bos);
                oos.writeObject(object);
                oos.flush();
                return new BASE64Encoder().encode(bos.toByteArray());
            }catch (IOException e) {
                logger.error("序列化错误",e);
            }finally {
                try {
                    if (oos != null) {
                        oos.close();
                    }
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    
        public static Object unserialize( String object) {
            ByteArrayInputStream bis = null;
            ObjectInputStream ois = null;
            try {
                bis = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(object));
                ois = new ObjectInputStream(bis);
                Object o = ois.readObject();
                return o;
            } catch (IOException e) {
                logger.error("反序列化错误:IO异常",e);
            } catch (ClassNotFoundException e) {
                logger.error("反序列化错误:类找不到",e);
            }finally {
                try {
                    if(bis!=null) {
                        bis.close();
                    }
                    if(ois!=null){
                        ois.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    }
    

      

  • 相关阅读:
    软件开发模版与规范 & 项目组规范
    CSS代码结构初探
    DIV+CSS 一行两列布局
    AE 9.3代码 升级到AE10.0
    栅格相减 异常
    鹰眼视图异常
    十进制度批量转换度分秒
    javascript是一朵奇葩
    pku 1065 pku 1548
    hdu 1254 推箱子
  • 原文地址:https://www.cnblogs.com/yanqin/p/8342839.html
Copyright © 2011-2022 走看看