/*
* 操作对象的流:
* 写对象的流 ObjectOutputStream:
* void writeObject(Object obj):将指定的对象写入 ObjectOutputStream
* 读对象的流 ObjectInputStream:
* Object readObject():从 ObjectInputStream 读取对象。
*
* java.io.NotSerializableException: cn.itcast.Person
* Person没有被序列化。它没有实现序列化接口。
* 只有实现了序列化接口的对象才可以被对象流操作。
* 所以,对象流有时候也称为序列化流。
*
* 序列化:把对象按照流的方式写入文件或者在网络中传输。
* 反序列化:把对象从文件或者网络中读取
*/
public class ObjectStreamDemo {
public static void main(String[] args) throws IOException,
ClassNotFoundException {
// write();
read();
}
private static void read() throws IOException, ClassNotFoundException {
// 创建对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
"oos.txt"));
// 读取一个对象
// Object obj = ois.readObject();
// Person p = (Person) obj;
Person p = (Person) ois.readObject();
// 输出这个对象的值
System.out.println(p.getName() + "***" + p.getAge());
// 释放资源
ois.close();
}
|