java序列化
2015-10-27 22:54
387 查看
java序列化的作用
我们可以通过java序列化,将java对象状态保存为一文件,然后在需要的时候,通过java提供的方法读出对象当时的情况。
序列化技术为远程通信提供了标准的线路级对象表示法,也为JavaBeans组件结构提供了标准的持久化数据格式。
1. 序列化的类需要实现java.io.Serializable接口
2. 通过ObjectOutputStream输出流的writeObject方法来保存序列化对象
3. 通过ObjectOutputstream输入流的readObject方法来读取保存的序列化对象
简单实例:
对象Person为实现了Serializable接口的一个对象
保存对象:
File file = new File("person.out");
Person person = new Person("hu.yuan",25,"M");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(person);
oos.close();
读取对象:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
Person person = ois.readObject();
ois.close();
读取到的person对象中有值 hu.yuan 25 M
当Person对象被保存到person.out文件中之后,我们可以在其它地方去读取该文件以还原对象,但必须确保该读取程序的CLASSPATH中包含有Person.class(哪怕在读取Person对象时并没有显示地使用Person类,如上例所示),否则会抛出ClassNotFoundException。
在有继承层次的业务对象,进行序列化时,如果父类没有实现Serializable接口,那么父类必须提供默认构造函数
java序列化,实际使用实例:
我们需要推送一个带有各种属性的对象给多个位置
http://blog.csdn.net/will_awoke/article/details/38751587?utm_source=tuicool&utm_medium=referral
我们可以通过java序列化,将java对象状态保存为一文件,然后在需要的时候,通过java提供的方法读出对象当时的情况。
序列化技术为远程通信提供了标准的线路级对象表示法,也为JavaBeans组件结构提供了标准的持久化数据格式。
1. 序列化的类需要实现java.io.Serializable接口
2. 通过ObjectOutputStream输出流的writeObject方法来保存序列化对象
3. 通过ObjectOutputstream输入流的readObject方法来读取保存的序列化对象
简单实例:
对象Person为实现了Serializable接口的一个对象
保存对象:
File file = new File("person.out");
Person person = new Person("hu.yuan",25,"M");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(person);
oos.close();
读取对象:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
Person person = ois.readObject();
ois.close();
读取到的person对象中有值 hu.yuan 25 M
当Person对象被保存到person.out文件中之后,我们可以在其它地方去读取该文件以还原对象,但必须确保该读取程序的CLASSPATH中包含有Person.class(哪怕在读取Person对象时并没有显示地使用Person类,如上例所示),否则会抛出ClassNotFoundException。
在有继承层次的业务对象,进行序列化时,如果父类没有实现Serializable接口,那么父类必须提供默认构造函数
java序列化,实际使用实例:
我们需要推送一个带有各种属性的对象给多个位置
http://blog.csdn.net/will_awoke/article/details/38751587?utm_source=tuicool&utm_medium=referral
相关文章推荐
- java 集合类说明及区别
- 优秀的编程风格(Java篇)——高薪必看
- Java学习日记-11 集合(1)
- 初识Java
- ReverseFile
- 从头认识java-4.7 构造器初始化(1)
- 从头认识java-4.7 构造器初始化(1)
- MyEclipse web developemnt with Maven
- Java:Collection集合类
- spring mvc 配置
- 记录-Head first java-第四章
- spring定时任务
- java--文件过滤器和简单系统交互
- java--字节数组输入、输出流
- 重要的JAVA-API String类
- Ehcache 整合Spring 使用页面、对象缓存
- java中参数传递
- 在java 中,数组与 List<T> 类型的相互转换
- fastdf使用例子(java版)
- java--对象比较器