Serializable序列化
序列号方法类:
/* * 对象序列号流 * 1.类每次都会生成一个版本,当类被修改后。版本改变,反序列化就会保存,可以用自定义serialVersionUID解决 * 2.类中有字段不想被序列化,可以加transient 修饰 * */ public void objectSerialTest() throws IOException, ClassNotFoundException { String path="E:\\Java\\00_0\\6.txt"; Student std=new Student(); std.setAge(10); std.setName("ajsd数度快"); //对象序列化 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(path)); oos.writeObject(std); oos.close(); //对象反序列化 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(path)); Object o = ois.readObject(); Student s=(Student)o; System.out.println(s.getAge()); System.out.println(s.getName()); ois.close(); }
Student类:
import java.io.Serializable; public class Student implements Serializable { private static final long serialVersionUID = 42L; private transient int age; private String name; @Override public String toString() { return "Student{" + "age=" + age + ", name='" + name + '\'' + '}'; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }