用字节流将一个Object对象持久化
2015-06-17 10:59
471 查看
用字节流将一个Object对象持久化
注:
1.读取的时候不能被new
2.Object必需序列化
3.static的不能被序列化
4.transient也不能被序列化,但它还是存在栈中
ObjectInputStream:
可以为应用程序提供对对象图形的持久存储,用于恢复那些以前序列化的对象。
bjectOutputStream:
对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化
只能将支持 java.io.Serializable 接口的对象写入流中
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class FileDemo6 {
public static void main(String[] args) throws Exception {
// 将对象持久化
// writerObj();
// 读取持久化类
readObj();
}
public static void readObj() throws Exception {
// 指定要读取的对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
"F:\\Objcet.object"));
// 将读取的对象转换成员工对象
FileDemo6_Emp emp = (FileDemo6_Emp) ois.readObject();
System.out.println(emp);
}
public static void writerObj() throws Exception {
// 创建一个写入流对象(后缀名自定义,反正直接打开了也是乱码)
ObjectOutputStream ois = new ObjectOutputStream(new FileOutputStream(
"F:\\Objcet.object"));
// 创建一个员工实体对象并写入指定文件中
ois.writeObject(new FileDemo6_Emp("zhangsan", 33));
// 关闭流
ois.close();
}
}要操作的对象
import java.io.Serializable;
public class FileDemo6_Emp implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
public FileDemo6_Emp(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "FileDemo6_Emp [name=" + name + ", age=" + age + "]";
}
}
注:
1.读取的时候不能被new
2.Object必需序列化
3.static的不能被序列化
4.transient也不能被序列化,但它还是存在栈中
ObjectInputStream:
可以为应用程序提供对对象图形的持久存储,用于恢复那些以前序列化的对象。
bjectOutputStream:
对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化
只能将支持 java.io.Serializable 接口的对象写入流中
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class FileDemo6 {
public static void main(String[] args) throws Exception {
// 将对象持久化
// writerObj();
// 读取持久化类
readObj();
}
public static void readObj() throws Exception {
// 指定要读取的对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
"F:\\Objcet.object"));
// 将读取的对象转换成员工对象
FileDemo6_Emp emp = (FileDemo6_Emp) ois.readObject();
System.out.println(emp);
}
public static void writerObj() throws Exception {
// 创建一个写入流对象(后缀名自定义,反正直接打开了也是乱码)
ObjectOutputStream ois = new ObjectOutputStream(new FileOutputStream(
"F:\\Objcet.object"));
// 创建一个员工实体对象并写入指定文件中
ois.writeObject(new FileDemo6_Emp("zhangsan", 33));
// 关闭流
ois.close();
}
}要操作的对象
import java.io.Serializable;
public class FileDemo6_Emp implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
public FileDemo6_Emp(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "FileDemo6_Emp [name=" + name + ", age=" + age + "]";
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树