【转】Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
来源:互联网 发布:域名 服务器价格 编辑:程序博客网 时间:2024/04/28 09:17
Java的Serializable处理
关键字: java serializablejava继承serislizable接口,简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。实现了Java对象的序列化。
在一下情况可以考虑使用序列化:
a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;示例:
Java代码
- public class Order implements java.io.Serializable {
- private Long id;
- private String code;
- private String name;
- }
public class Order implements java.io.Serializable {private Long id;private String code;private String name;}将order对象写入流中:
Java代码
- public InputStream getOrderInfoAsStream(Order order) {
- InputStream ret = null;
- ByteArrayOutputStream baos = null;
- ObjectOutputStream ous = null;
- if (order == null) {
- return ret;
- }
- try {
- baos = new ByteArrayOutputStream();
- ous = new ObjectOutputStream(baos);
- ous.writeObject(order);
- ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (baos != null) {
- baos.close();
- }
- if (ous != null) {
- ous.close();
- }
- } catch (Exception e) {
- }
- }
- return ret;
- }
public InputStream getOrderInfoAsStream(Order order) {InputStream ret = null;ByteArrayOutputStream baos = null;ObjectOutputStream ous = null;if (order == null) {return ret;}try { baos = new ByteArrayOutputStream(); ous = new ObjectOutputStream(baos); ous.writeObject(order); ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());} catch (Exception e) {e.printStackTrace();} finally {try {if (baos != null) {baos.close();}if (ous != null) {ous.close();}} catch (Exception e) {}}return ret;}将对象从流中读出:
Java代码
- public Order getOrder(InputStream is) {
- Order ret = null;
- ObjectInputStream ois = null;
- try {
- if (is != null) {
- ois = new ObjectInputStream(is);
- ret = (Order) ois.readObject();
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (ois != null) {
- ois.close();
- }
- } catch (Exception e) {
- }
- }
- return ret;
- }
Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
- 【转】Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
- 【转】流传硅谷的一则冷笑话 - 皇马啸西风的一亩三分地 - JavaEye技术网站
- CSDN的一亩三分地
- 我的一亩三分地~~
- 红黑树的Java实现 [z] - liudaoru - JavaEye技术网站
- 一亩三分地
- 一亩三分地
- 一亩三分地
- 程序员是不是只在乎自己的一亩三分地
- 程序员是不是只在乎自己的一亩三分地
- 选择属于自己的一亩三分地
- 程序员是不是只在乎自己的一亩三分地
- 程序员是不是只在乎自己的一亩三分地
- 笑谈ArcToolbox (3) ArcToolbox的一亩三分地
- 转自【一亩三分地】做leetcode的几点体会分享
- 如何用JNI技术提高Java的性能详解 - joanzq - JavaEye技术网站
- 从java内核看性能分析与设计 - 安详的骆驼 - JavaEye技术网站
- Java面试中经常问到的算法题 - - JavaEye技术网站 (转载)
- @dblookup的用法
- 漫谈软件测试中的Fuzz测试技术
- 条款55:让自己熟悉boost
- QA常见面试问题答与问(English)
- [转贴]解决分区卸载问题
- 【转】Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
- javascript面向对象编程
- 学习数据结构好的网站
- test theory knowledge testing
- ARGB32位转化为RGB24位的函数
- boost链接库无法打开问题解决方法
- 你真的理解T-sql中的NULL吗?
- 127.0.0.1
- How to Write a Useful Bug Report