自定义序列化和反序列化的java实现
发布时间:2020-12-14 23:17:11 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.*; /** * Created by jingqing.zhou on 2015/6/12. * ByteArrayOutputStream :可以捕获内存缓冲区的数据,转换成字节数组。 * DataInp
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |