zoukankan      html  css  js  c++  java
  • 对象序列化和反序列化

    首先要序列化的对象必须实现Serializable接口,序列化和反序列化实现代码如下:ByteUtils.java

    package com.zqgame.rabbitmq;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    
    public class ByteUtils{
        /**
         * 序列化
         * @param o
         * @return
         * @throws Exception
         */
        public static byte[] toByteArray(Object o){
            ByteArrayOutputStream baos = null;
            ObjectOutputStream oos  = null;
            byte[] bs = null;
            try {
                baos = new ByteArrayOutputStream();
                oos = new ObjectOutputStream(baos);
                oos.writeObject(o);
                bs= baos.toByteArray();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    oos.close();
                    baos.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
            return bs;
        }
        /**
         * 反序列化
         * @param o
         * @return
         * @throws Exception
         */
        public static Object toObject(byte[] bytes){
             ByteArrayInputStream bais = null;
             ObjectInputStream ois = null;
             Object obj = null;
            try {
                bais = new ByteArrayInputStream(bytes);
                ois = new ObjectInputStream(bais);
                obj = ois.readObject();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    bais.close();
                    ois.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
             return obj;
        }
    }
  • 相关阅读:
    网站测试相关内容
    渗透测试的内容
    性能测试涉及知识点
    nginx核心反向代理
    投票活动
    数据库的框架及优化之路
    sonarqube搭建遇到的问题
    robotframework+python3+selenium之下拉框的选择---第五集
    robotframework+python3+selenium之常用情景---第四集
    robotframework+python3+selenium之创建第一个项目---第三集
  • 原文地址:https://www.cnblogs.com/zhougaojun/p/4547411.html
Copyright © 2011-2022 走看看