这里我来介绍如何把对象也持久化
1、ObjectInputStream :对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。
2、ObjectOutputStream:。通过在流中使用文件可以实现对象的持久存储,只能将支持 java.io.Serializable 接口的对象写入流中
接下来看我们如何来编写这样的程序:
1、新建一个被系列化的对象:PersistenceObject.java
package com.mars.object;
import java.io.Serializable;
public class PersistenceObject implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、创建一个类来专门的设置文件路径:FileLocal.java
package com.mars.object;
public final class FileLocal {
protected static final String FILELOCAL="D:/object.tmp";
}
3、接下来建立一个类来持久化这个对象:OutPersistenceObject .java
package com.mars.object;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class OutPersistenceObject {
public static void outObject(){
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(FileLocal.FILELOCAL);//保存要持久的介质
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(fos!=null){
try {
oos=new ObjectOutputStream(fos);
oos.writeObject(com.mars.object.PersistenceObject.class.newInstance());//把PersistenceObject类持久化
} catch (IOException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}finally{
if(oos!=null){
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}finally{
oos=null;
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}finally{
fos=null;
}
}
}
}
}
public static void main(String[] args) {
System.out.println("开始存入D:/object.tmp.....");
OutPersistenceObject.outObject();
System.out.println("持久化完成....");
}
}
4、如何把这个持久化的对象从存储介质中读取出来:InPersistenceObject .java
package com.mars.object;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
public class InPersistenceObject {
public static Object getObject(String src){
FileInputStream fis = null;
ObjectInputStream ois = null;
Object o = null;
try {
fis = new FileInputStream(src);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
ois = new ObjectInputStream(fis);
o = ois.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally{
if(ois!=null){
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}finally{
ois=null;
}
}
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}finally{
fis=null;
}
}
}
return o;
}
public static void main(String[] args) {
PersistenceObject p=(PersistenceObject)InPersistenceObject.getObject(FileLocal.FILELOCAL);
p.setName("hello ! I'm mars ");
String str = p.getName();
System.out.println(str);
}
}
end....
分享到:
相关推荐
Java对象持久化技术
叙述了属性容器类及其对象持久化的方法
Java中的对象持久化介绍,还是比较具体的,中包括ODBC的介绍还有其他的东西
精通Hibernate:Java对象持久化详解解压后是pdf文档。
精通Hibernate:Java对象持久化技术详解.pdf 精通Hibernate:Java对象持久化技术详解.pdf
Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象Hibernate操作持久化对象
域对象在持久化层的状态
Java对象持久化技术概述 孙卫琴的 pdf
.NET对象序列化与数据持久化.NET对象序列化与数据持久化.NET对象序列化与数据持久化.NET对象序列化与数据持久化.NET对象序列化与数据持久化.NET对象序列化与数据持久化(Q群号:152088818 本群只为有经验的.NET开发者...
精通Hibernate:Java对象持久化技术详解(第2版)源码精通Hibernate:Java对象持久化技术详解(第2版)源码精通Hibernate:Java对象持久化技术详解(第2版)源码精通Hibernate:Java对象持久化技术详解(第2版)源码
精通 Hibernate:Java 对象持久化技术详解 第2版 学习Hibernate必备得一本书
精通Hibernate:Java对象持久化技术详解
16.1 MB (16,948,839 字节) Java 精通Hibernate对象持久化技术详解PDF
Java对象持久化技术详解,精通Hibernate
一共有三个分卷。全部下载才能解压。 这本书不错,值得一看。
用Hibernate对象持久化服务简化Java数据库访问 用Hibernate对象持久化服务简化Java数据库访问
精通Hibernate:Java对象持久化技术详解(第2版)源码精通Hibernate:Java对象持久化技术详解(第2版)源码
精通 Hibernate_Java 对象持久化技术详解(第2版).pdf
第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 实体域对象的其他持久化模式...
Hibernate 对象持久化 北大青鸟教材