ObjectInputStream和ObjectOutputStream类可以用来在Java中进行序列化和反序列化。序列化是将Java对象的状态保存到存储媒体(如磁盘、网络或其他连接)中,反序列化则是将存储在存储媒体中的对象状态重新读入到Java程序中。
使用ObjectInputStream和ObjectOutputStream进行序列化,需要在目标类上添加序列化接口(Serializable)
序列化示例代码:
FileOutputStream fos =new FileOutputStream("object.data");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
反序列化示例代码:
FileInputStream fis= new FileInputStream("object.data");
ObjectInputStream ois = new ObjectInputStream(fis);
Object object = ois.readObject();
ois.close();
注意:被序列化的对象需要实现java.io.Serializable 接口.