美文网首页
序列化和反序列化

序列化和反序列化

作者: 後来的後来hugh | 来源:发表于2020-01-13 14:08 被阅读0次

    序列化: 就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输。

    对象序列化过程可以分为两步:

    第一: 将对象转换为字节数组

    第二: 将字节数组存储到磁盘

    public static byte[] getByteArray4Object(Object obj)throws Exception{

    ByteArrayOutputStream bao=new ByteArrayOutputStream();

    ObjectOutputStream os=new ObjectOutputStream(bao);

    os.writeObject(obj);

    return bao.toByteArray();

    }

    public static void writeByteArrayToFile(String textFilePath,byte[]bytearr)throws Exception{

    FileOutputStream fos=new FileOutputStream(new File(textFilePath));

    fos.write(bytearr);

    }

    反序列化 就是将字节序列转换为内存中的对象

    可以是文件中的,也可以是网络传输过来的

            // 从文件中反序列化

            FileInputStream fis=new FileInputStream(textFilePath);

          ObjectInputStream ois=new ObjectInputStream(fis);

          User user2= (User) ois.readObject();

          //=========================

        // 字节流中反序列化

            byte[] bytearr=  getByteArray4Object(user);

    ByteArrayInputStream bais=new ByteArrayInputStream(bytearr);

    ObjectInputStream ois=new ObjectInputStream(bais);

    User user2=(User)ois.readObject();

    对象的序列化和反序列化主要就是使用ObjectOutputStream 和 ObjectInputStream

    相关文章

      网友评论

          本文标题:序列化和反序列化

          本文链接:https://www.haomeiwen.com/subject/dqngactx.html