java 对象序列化写入文件
来源:互联网 发布:python工程师 编辑:程序博客网 时间:2024/05/16 12:55
1.对象的序列化就是保存对象的当前状态。
2.保存对象的状态有两种主要的方式:
1) 对象序列化(将对象写入到文件,以后再反序列化,见后例)
如果保存的数据用于Java程序内交互,则采用对象的序列化;
2) 写入文件(将对象写入到文本文件,注意,是文本文件)
如果保存的数据用于和其他非Java程序交互,则保存到文本文件。
3.对象如果需要序列化,则它所在的类必须要实现Serializable接口。
如果某类是可序列化的,则它的子类自动地可以序列化。
4.对象序列化的步骤:
1) 创建文件输出流;
2) 创建对象输出流;
3) 写入对象状态;
4) 关闭对象输出流;
import java.io.*;import java.util.Date;class Customer implements Serializable {private String name;private int age;public Customer(String name, int age) {this.name = name;this.age = age;}public String toString() {return "name=" + name + ",age=" + age;}public static void main(String[] args) {// TODO Auto-generated method stubtry {ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("xuliehua.txt"));// 序列化对象Customer customer = new Customer("张三", 50);oos.writeObject(customer);oos.close();// 反序列化对象ObjectInputStream ois = new ObjectInputStream(new FileInputStream("xuliehua.txt"));Customer obj3 = (Customer) ois.readObject();System.out.println("obj3=" + obj3);ois.close();} catch (Exception e) {e.printStackTrace();}}}
5.序列化对象会把对象的所有属性保存,被对象的实例变量所引用的对象也会被序列化。
如果某实例变量不能或不应该被序列化,则把这个变量标记为transient。将属性标记为transient后,对象序列化时会将该属性保存为null值。
6.对象解序列化的步骤:
1) 创建文件输入流;
2) 创建对象输入流;
3) 读出对象状态;
4) 转换对象类型(因为对象读出后为Object类型);
5) 关闭对象输入流;
- java 对象序列化写入文件
- Java 对象直接写入文件 --序列化和反序列化
- java.io.NotSerializableException: 没实现序列化对象而写入文件流的报错
- 对象序列化中多次写入文件头的问题
- C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- java将对象写入文件
- java 将对象写入文件
- java中将对象写入文件
- 对象序列化,向文件中写入对象,然后实现查询
- ser文件与Java对象序列化
- 序列化反序列化对象XML文件写入Sample,简单但是有代表性
- php对象的序列化(串行化)用作 写入文件或者网络传输
- 关于对象实例序列化加密解密并写入文件的技巧
- Json序列化 - JSON写入文件
- 序列化 数据 并 写入文件(.plist)
- java中将list、map对象写入文件
- java中将list、map对象写入文件
- java 将对象写入到文件中
- [C++]pthread
- 欧拉函数
- spring注解不支持parent问题
- poj2503Babelfish(Trie tree 或者map)
- Advanced Windows Controls
- java 对象序列化写入文件
- 中国互联网最赚钱的十位草根人物 DotA解说海涛年入千万
- 浅谈C++指针直接调用类成员函数
- 导入android工程@Override报错
- 读书笔记--精通CSS高级Web标准解决方案(一)---CSS基础
- 读书笔记--精通CSS高级Web标准解决方案(二)---CSS基础之CSS选择器
- 读书笔记--精通CSS高级Web标准解决方案(三)---CSS盒模型、浮动与定位
- 安装用于 Eclipse 的 Team Foundation Server 插件
- 读书笔记--精通CSS高级Web标准解决方案(四)---CSS背景以及圆角框实现