SerializeUtil 序列化 java
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author baoy * */ public class SerializeUtil { private static final Logger logger = LoggerFactory.getLogger(SerializeUtil.class); /** * 序列化 * @param object * @return */ public static byte[] serialize(Object object) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(baos); oos.writeObject(object); byte[] bytes = baos.toByteArray(); return bytes; } catch (Exception e) { } return null; } /** * 反序列化 * @param bytes * @return */ public static Object unserialize(byte[] bytes) { ByteArrayInputStream bais = null; try { bais = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bais); return ois.readObject(); } catch (Exception e) { } return null; } /** * 序列化存储list * @param list * @return * @throws IOException */ public static byte[] serializeList(List<Object> list) throws IOException { if (list == null) { throw new NullPointerException("Can't serialize null"); } byte[] rv = null; ByteArrayOutputStream bos = null; ObjectOutputStream os = null; try { bos = new ByteArrayOutputStream(); os = new ObjectOutputStream(bos); for (Object o : list) { os.writeObject(o); } os.writeObject(null); rv = bos.toByteArray(); } catch (IOException e) { throw new IllegalArgumentException("Non-serializable object", e); } finally { if (os != null) { os.close(); } if (bos != null) { bos.close(); } } return rv; } /** * 反序列化 * @param in * @return * @throws IOException */ public static List<Object> deserialize(byte[] in) throws IOException { List<Object> list = new ArrayList<Object>(); ByteArrayInputStream bis = null; ObjectInputStream is = null; try { if (in != null) { bis = new ByteArrayInputStream(in); is = new ObjectInputStream(bis); while (true) { Object object = is.readObject(); if (object == null) { break; } else { list.add(object); } } } } catch (IOException e) { logger.error("Caught IOException decoding %d bytes of data", in.length, e); } catch (ClassNotFoundException e) { logger.error("Caught CNFE decoding %d bytes of data", in.length, e); } finally { if (is != null) { is.close(); } if (bis != null) { bis.close(); } } return list; } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
java 对象的序列化与反序列化 java 对象的序列化与反序列化
极好的序列化与发序列化代码。可以处理array集合,数组或者单个对象等的序列化与反序列化。
java反序列化工具,覆盖jboss、weblogic、websphere。
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
java序列化和反序列化java序列化和反序列化java序列化和反序列化
java对象 java序列化 java反序列化
10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1229 1133 1179 阿里反序列化时间 478 523 466 HZS序列化时间 1089 998 1010 HZS反序列化时间 606 623 635 测试代码如下: { org.hzs.json.JSONObject bjson...
Java对象的序列化与反序列化Java开发Java经验技巧共10页.pdf.zip
Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化 Java序列化与反序列化
大家请看Java的序列化结构有不足的地方请指教也希望指出不足的地方。
序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例...虽然你可以用你自己的各种各样的方法来保 存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
xstream-1.1.3正反序列化JAVA对象 xstream-1.1.3.jar 使用xstream-1.1.3.jar 进行序列化 JAVA 对象的示例三个
在应用java进行c-s开发的时候,尤其涉及到图片和视频之间的传输时,需要用序列化和反序列化技术,希望对您有帮助
java 常用序列化和反序列化框架使用demo ,java 常用序列化和反序列化框架使用demo
本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)...进阶篇有反射、泛型、注解、网络编程、多线程、序列化、数据库、Servlet、JSP、XML解析、单例模式与枚举。本专栏主要为Java入门者提供实验参考。
学习Java序列化,里面包含一份PPT以及相应的源码演示
克隆和序列化(Java )实例和源代码
java 的序列化与反序列化举例测试
java序列化(Serializable)的作用和反序列化.doc 有详细的讲解哦。 在什么地方用的到都有说明的.
Java Json序列化与反序列化