博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义序列化和反序列化的java实现
阅读量:7209 次
发布时间:2019-06-29

本文共 1338 字,大约阅读时间需要 4 分钟。

hot3.png

package j2se.IO;import java.io.*;/** * Created by jingqing.zhou on 2015/6/12. * ByteArrayOutputStream :可以捕获内存缓冲区的数据,转换成字节数组。 * DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式. * FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。 */public class ByteArrayIO {    //序列化对象为String字符串,先对序列化后的结果进行BASE64编码,否则不能直接进行反序列化    public static String writeObject(Object o) throws Exception {        ByteArrayOutputStream bos = new ByteArrayOutputStream();        ObjectOutputStream oos = new ObjectOutputStream(bos);        oos.writeObject(o);        oos.flush();        oos.close();        bos.close();        //return new BASE64Encoder().encode(bos.toByteArray());        return new String(bos.toByteArray(), "ISO-8859-1");    }    //反序列化String字符串为对象    public static Object readObject(String object) throws Exception{        //ByteArrayInputStream bis = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(object));        ByteArrayInputStream bis = new ByteArrayInputStream(object.getBytes("ISO-8859-1"));        ObjectInputStream ois = new ObjectInputStream(bis);        Object o = null;        try {            o = ois.readObject();        } catch(EOFException e) {            System.err.print("read finished");        }        bis.close();        ois.close();        return o;    }}

转载于:https://my.oschina.net/reesechou/blog/466041

你可能感兴趣的文章
HGE引擎改进
查看>>
存储过程执行失败与sql668n
查看>>
Android面试题3之描写叙述下Android的系统架构
查看>>
2014-7-20 谁还认得这几本书?
查看>>
基于django搭建网站
查看>>
c++ 循环程序的作业,2017年10月10日作业题。
查看>>
从C语言结构对齐重谈变量存放地址与内存分配
查看>>
NSTimer_Block封装定时器的target-action成Block回调
查看>>
FileInfo类和DirectoryInfo类
查看>>
B. Obtaining the String(模拟)
查看>>
[原]浅谈vue过渡动画,简单易懂
查看>>
10.Vue请求远端数据库
查看>>
js -- sort() 使用排序函数
查看>>
时间你懂的,
查看>>
今天 周日,
查看>>
mysql-5.7.21-winx64安装过程(整了好久原因是没关闭防火墙)
查看>>
vi编辑器
查看>>
《JAVA NIO》第一章 简介
查看>>
有继承关系的对象执行顺序,包括静态变量,静态代码块,普通变量,普通代码块,继承方法....
查看>>
使用ownCloud在Linux安装你的个人云服务
查看>>