• 序列化工具类({对实体Bean进行序列化操作.},{将字节数组反序列化为实体Bean.})


    package com.dsj.gdbd.utils.serialize;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    
    /**
     *  
     * @作用:序列化工具类
     * @功能:
     * @作者: wyt
     * @日期:2016-8-3 下午5:52:58 
     * @版本:V1.0
     */
    public class SerializingUtil {
    
        /**
         * 功能简述: 对实体Bean进行序列化操作.
         * @param source 待转换的实体
         * @return 转换之后的字节数组
         * @throws Exception
         */
        public static byte[] serialize(Object source) {
            if (source == null) {
                return null;
            }
            ByteArrayOutputStream byteOut = null;
            ObjectOutputStream ObjOut = null;
            try {
                byteOut = new ByteArrayOutputStream();
                ObjOut = new ObjectOutputStream(byteOut);
                ObjOut.writeObject(source);
                ObjOut.flush();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (null != ObjOut) {
                        ObjOut.close();
                    }
                } catch (IOException e) {
                    ObjOut = null;
                }
            }
            return byteOut.toByteArray();
        }
    
        /**
         * 功能简述: 将字节数组反序列化为实体Bean.
         * @param source  需要进行反序列化的字节数组
         * @return 反序列化后的实体Bean
         * @throws Exception
         */
        public static Object deserialize(byte[] source) {
            if (source == null) {
                return null;
            }
            ObjectInputStream ObjIn = null;
            Object retVal = null;
            try {
                ByteArrayInputStream byteIn = new ByteArrayInputStream(source);
                ObjIn = new ObjectInputStream(byteIn);
                retVal = ObjIn.readObject();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (null != ObjIn) {
                        ObjIn.close();
                    }
                } catch (IOException e) {
                    ObjIn = null;
                }
            }
            return retVal;
        }
    }
  • 相关阅读:
    U盘备份工具
    改进的窗口置顶工具
    有关DLL中封装的MDI子窗体出现TFont错误的解释
    QQ风格程序的编写
    改进的自动按键工具
    万能Update语句
    在DLL中封装的VCL窗体Tab键响应的问题
    自动按键工具
    灵活控制SVN服务
    在DLL动态链接库中封装VCL的MDI子窗体
  • 原文地址:https://www.cnblogs.com/mlq2017/p/10260069.html
Copyright © 2020-2023  润新知