对象序列化(案例)

66 阅读1分钟
   Student s = new Student("张三",21);
 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("F:\JavaProject\Project\src\app.txt"));//对象序列化
 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("F:\JavaProject\Project\src\app.txt"));//反序列化
   oos.writeObject(s);//将对象存入文件中
Student s1 = (Student) ois.readObject();//将对象从文件取出
   System.out.println(s1);
   oos.close();//关闭流
对象要序列化必须继承Serializable序列化接口
private transient int age; 被transient修饰的成员变量不参与序列化
private static final long serialVersionUID = 3  这里表示序列化的版本号 如果在开发过程中如果对对象需要增加属性或者是删除属性的话需要更改版本号,强制被序列化的对象重新序列化一次,相当于更新数据,如果不重新序列化会报错

Snipaste_2022-08-20_16-20-54.png

微信图片_20220820162112.jpg