天天看點

Java I/O流操作(四)---對象的序列化

 首先,把對象序列化必須實作Serializable接口, 隻有這樣才能把對象持久化到硬碟擷取其他地方.

對象序列化操作需要使用到ObjectOutputStream和ObjectInputStream兩個對象

ObjectOutputStream ( OutputStream  out)

建立一個ObjectOutputStream 把對象往OutputStream輸出流寫入

publicstaticvoid objetcSeri()throws Exception {

    ObjectOutputStream oos =new ObjectOutputStream(

    new FileOutputStream("person.object"));

    //寫入person對象

    oos.writeObject(new Person("johnny",21,"CHINA"));

    oos.close();

}

Exception in thread "main" java.io.NotSerializableException: com.huaxia.day21.Person

at java.io.ObjectOutputStream.writeObject0(Unknown Source)

at java.io.ObjectOutputStream.writeObject(Unknown Source)

at com.huaxia.day21.ObjectSerializable.objetcSeri(ObjectSerializable.java:15)

publicstaticvoid readObject() throws Exception {

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.object"));

Person person = (Person)ois.readObject();

System.out.println(person);