【转】Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
2009-12-15 02:42
369 查看
Java的Serializable处理
关键字: java serializable java继承serislizable接口,简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。实现了Java对象的序列化。
在一下情况可以考虑使用序列化:
a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;
示例:
Java代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
public class Order implements java.io.Serializable {
private Long id;
private String code;
private String name;
}
将order对象写入流中:
Java代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
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代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
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 java继承serislizable接口,简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。实现了Java对象的序列化。
在一下情况可以考虑使用序列化:
a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;
示例:
Java代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
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代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
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代码
![](http://liuwei1981.javaeye.com/images/icon_copy.gif)
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技术网站
相关文章推荐
- 【转】流传硅谷的一则冷笑话 - 皇马啸西风的一亩三分地 - JavaEye技术网站
- jdbc事务处理 - 美丽人生 - JavaEye技术网站
- 解读java.util.Queue - 向比尔盖茨学习 - JavaEye技术网站
- 如何用JNI技术提高Java的性能详解 - joanzq - JavaEye技术网站
- 从java内核看性能分析与设计 - 安详的骆驼 - JavaEye技术网站
- Java面试中经常问到的算法题 - - JavaEye技术网站 (转载)
- 红黑树的Java实现 [z] - liudaoru - JavaEye技术网站
- 纯java语言分析网站后台日志IP排序处理
- 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
- java处理高并发高负载类网站的优化方法
- 关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
- 【收藏】Java开发者必去的技术网站
- Java开发者必去的技术网站
- JAVA通过Session和Cookie实现网站自动登录的技术
- Java 处理 XML 的三种主流技术及介绍——主要转自 IBMhttp://www.ibm.com/developerworks/cn/xml/dm-1208gub/
- Java开发者必去的技术网站
- Java处理 网站高并发问题 的优化方法
- 博为峰Java技术文章 ——JavaSE Swing动作事件的处理
- Java开发者必去的技术网站
- java项目——网站用户头像的处理问题