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;
        }
    }
    

      

  • 相关阅读:
    Oracle11g 安装 -Linux
    oracle 11g安装-window
    将本地文件上传到github
    highcharts实现画辅助线功能并删除
    eclipse中一个项目引用另一个项目的方法
    Kubernetes label简单使用
    spark 报错 InvalidClassException: no valid constructor
    NFS服务配置 Linux
    Ubuntu-Server18.04开启无线网卡并配置静态ip
    Ubuntu18.04安装mysql并配置远程访问
  • 原文地址:https://www.cnblogs.com/yanqin/p/8342839.html
Copyright © 2011-2022 走看看