解题思路:
1.是什么
2.为什么
3.怎么做
一,是什么?(摘自百度百科)
二.为什么
核心语句:将当前状态写入到临时或持久性存储区。
分析:当前状态---对象
写入到 存储区----多是写成文本!
遇到问题: 对象怎么变成文本。通过对象流 变成文本流。
三.怎么做
解题:(直接上代码了)
- package XuLIEhua;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- public class Student implements Serializable {
- String name;
- String id;
- public Student(String name, String id) {
- super();
- this.name = name;
- this.id = id;
- }
- @Override
- public String toString() {
- return "Student [name=" + name + ", id=" + id + "]";
- }
- //序列化反序列化我都写在主方法里了
- public static void main(String[] args) throws Exception {
- Student s1 = new Student("张三", "1");
- // 序列化第一步 把对象写到文件里 所以需要文件流输出 object流输出
- FileOutputStream fos = new FileOutputStream("d:/h.txt");
- ObjectOutputStream ops = new ObjectOutputStream(fos);
- ops.writeObject(s1);
- // 刷新 write都要刷新
- ops.flush();
- ops.close();
- fos.close();
- // 第二步 反序列化 从文件夹中读取 file流 object流
- FileInputStream fis = new FileInputStream("d:/h.txt");
- ObjectInputStream ois = new ObjectInputStream(fis);
- Student readObject = (Student) ois.readObject();
- //关流
- ois.close();
- fis.close();
- //输出独出的对象测试
- System.out.println(readObject);
- }
- }
反序列化把序列化倒推即可。
QQ:1058387282 欢迎交流