Person p1 = new Person();
p1.setAge(10);
p1.setName("windrunner10");
当通过下面的代码序列化之后,Person对象中的name和age实例变量的值(windrunner,10)都被保存到person.ser文件中,这样以后又可以把它 从文件中读出来,重新在堆中创建原来的对象。当然保存时候不仅仅是保存对象的实例变量的值,JVM还要保存一些小量信息,比如类的类型等以便恢复原来的对 象。FileOutputStream fs = new FileOutputStream("person.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(p1 );
5.序列化实例代码
public class serializeTest {
public static void main(String[] args) throws IOException {
Person p1 = new Person();
Person p2 = new Person();
Person p3 = new Person();
p1.setAge(10);
p1.setName("windrunner10");
p2.setAge(20);
p2.setName("windrunner20");
p3.setAge(30);
p3.setName("windrunner30");
FileOutputStream fos = new FileOutputStream("d:\\test.text");
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(p1);
os.writeObject(p2);
os.writeObject(p3);
//FileInputStream fis = new FileInputStream("c:\\test.ser");
//System.out.println(fis.);
os.close();
}
}