天天看点

使用Serializable接口实现序列化

1.什么是序列化?

将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象。

2.什么情况下需要序列化?

当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化。

3.序列化的步骤:

首先要创建某些OutputStream对象:

OutputStream outputStream = new FileOutputStream(“output.txt”)

将其封装到ObjectOutputStream对象内:

. ObjectOutputStream objectOutputStream = new

 . ObjectOutputStream(outputStream);
           

此后只需调用writeObject()即可完成对象的序列化,并将其发送给OutputStream:

objectOutputStream.writeObject(Object);
           

最后不要忘记关闭资源:

objectOutputStream.close();
outputStream .close();
           

五、 反序列化的步骤:

首先要创建某些OutputStream对象:

InputStream inputStream= new FileInputStream("output.txt")
           

将其封装到ObjectInputStream对象内:

ObjectInputStream objectInputStream= new ObjectInputStream(inputStream);
           

此后只需调用readObject()即可完成对象的反序列化:

objectInputStream.readObject();
           

最后不要忘记关闭资源:

objectInputStream.close();
inputStream.close();