序列化与反序列化
注意:对象的序列化与反序列化使用的类要严格一致,包名、类名、类结构等等都要一致
public class Person implements Serializable {
public static final long serialVersionUID=1L;
String name;
int age;
}
public class Test06 {
public static void main(String[] args) {
try {
//Test06.testSerialize();
Test06.testDeserialize();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void testSerialize() throws Exception{
//定义对象的输出流,把对象序列化之后的流放到指定的文件中
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("E:\java\idea\javaBasics\javaSE\基础语法\src\ioStream\Buffered\tt10.txt"));
Person person = new Person();
person.name="周三";
person.age=16;
out.writeObject(person);
out.flush();
out.close();
}
public static void testDeserialize() throws Exception{
//创建对象输入流,从指定的对象中把对象序列化后的流读取出来
ObjectInputStream in = new ObjectInputStream(new FileInputStream("E:\java\idea\javaBasics\javaSE\基础语法\src\ioStream\Buffered\tt10.txt"));
Object object = in.readObject();
Person p= (Person) object;
System.out.println(p.name);
System.out.println(p.age);
in.close();
}
}