zoukankan      html  css  js  c++  java
  • 序列化与反序列化

    1:  java中序列化与反序列化

    package data.seriableObject;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    
    import data.pojo.Product;
    import redis.clients.jedis.Jedis;
    
    public class Serialize {
    //    public static void main(String [] args){
    //        Jedis jedis = new Jedis("172.16.135.2");
    //        String keys = "name";
    //        // 删数据
    //        //jedis.del(keys);
    //        // 存数据
    //        jedis.set(keys, "zy");
    //        // 取数据
    //        String value = jedis.get(keys);
    //        System.out.println(value);
    //
    //        //存对象
    //        Product p=new Product();
    //        jedis.set("person".getBytes(), serialize(p));
    //        byte[] byt=jedis.get("person".getBytes());
    //        Object obj=unserizlize(byt);
    //        if(obj instanceof Product){
    //            System.out.println(obj);
    //        }
    //    }
    
        //序列化
        public static byte [] serialize(Object obj){
            ObjectOutputStream obi=null;
            ByteArrayOutputStream bai=null;
            try {
                bai=new ByteArrayOutputStream();
                obi=new ObjectOutputStream(bai);
                obi.writeObject(obj);
                byte[] byt=bai.toByteArray();
                return byt;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    
        //反序列化
        public static Object unserizlize(byte[] byt){
            ObjectInputStream oii=null;
            ByteArrayInputStream bis=null;
            bis=new ByteArrayInputStream(byt);
            try {
                oii=new ObjectInputStream(bis);
                Object obj=oii.readObject();
                return obj;
            } catch (Exception e) {
    
                e.printStackTrace();
            }
            return null;
        }
    }
            byte[] byt=jedis.get(id.getBytes());
            Object obj=null;
            if (byt!=null && byt.length != 0) {
                logger.debug("使用redis");
                obj=new Serialize().unserizlize(byt);
            }
  • 相关阅读:
    CSS中的小知识
    网络基础 中的osi七层 协议
    pickle的使用
    max()的key的运用
    read,readline,readlines的区别
    print()控制台输出带颜色的方法
    写项目时bin目录下的start中的细节(路径问题的解决)
    使用hashlib密文存储实例
    固态硬盘使用f2fs作为根分区安装linux
    工厂方法(Factory Method)
  • 原文地址:https://www.cnblogs.com/liyafei/p/9343933.html
Copyright © 2011-2022 走看看