zoukankan      html  css  js  c++  java
  • java对象转数组|数组转对象

    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    
    import cc.xx.mall.common.assertion.Assert;
    import cc.xx.mall.common.tools.CompressUtil;
    
    /**
     * 对象转bytes和bytes转对象
     * 
     * @project order
     * @fileName ByteUtil.java
     * @Description
     * @author light-zhang
     * @date 2019年5月16日
     * @version 1.0.0
     */
    public class ByteUtil {
        /**
         * 对象转数组
         * 
         * @param obj
         * @return
         */
        public static byte[] serialize(Object object) {
            byte[] bytes = null;
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            try {
                ObjectOutputStream oos = new ObjectOutputStream(bos);
                oos.writeObject(object);
                oos.flush();
                bytes = CompressUtil.compress(bos.toByteArray());// 在这里对byte压缩
                oos.close();
                bos.close();
            } catch (IOException ex) {
                Assert.RuntimeException("Object转byte[]出现错误");
                ex.printStackTrace();
            }
            return bytes;
        }
    
        /**
         * 数组转对象
         * 
         * @param bytes
         * @return
         */
        public static Object deserialize(byte[] bytes) {
            Object object = null;
            try {
                ByteArrayInputStream bis = new ByteArrayInputStream(CompressUtil.uncompress(bytes));// 在这里解压
                ObjectInputStream ois = new ObjectInputStream(bis);
                object = ois.readObject();
                ois.close();
                bis.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            } catch (ClassNotFoundException ex) {
                Assert.RuntimeException("byte[]转对象错误");
                ex.printStackTrace();
            }
            return object;
        }
    
    }
  • 相关阅读:
    文件操作_1-24 选择题
    文件操作_1-22 选择题
    文件操作_1-21 选择题
    druid与知乎平台
    b树和b+树
    mybatis generator的generatorConfig.xml配置详解
    logback日志配置文件
    单链表每k个节点为一组进行反转(最后不满k个时不反转)
    单链表每k个节点一组进行反转(最后不足k个也反转)
    shell 结合expect实现ssh登录并执行命令
  • 原文地址:https://www.cnblogs.com/light-zhang/p/10895822.html
Copyright © 2011-2022 走看看