开发中我们常需要将某个对象进行传输、存储;此时我们可以将这个自定义对象序列化。
把原本在内存中的对象状态 变成可存储或传输的过程称之为序列化。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反序列化则是将可存储或传输的资源变成对象状态。
序列化只需要使自定义类实现接口,即 implements Serializable
1.序列化
class Hello implements Serializable {
//代码部分
}
Hello hello=new Hello();
ObjectOutputStream outputStream= new ObjectOutputStream(new FileOutputStream(getNewFile()));
outputStream.writeObject(hello);
outputStream.close();
ObjectOutputStream 可以通过 writeObject(Object object)方法 写入可序列化的对象
2.反序列化
class Hello implements Serializable {
//代码部分
}
ObjectInputStream objectInputStream=new ObjectInputStream(new FileInputStream(getNewFile()));
Hello hello= (Hello) objectInputStream.readObject();
objectInputStream.close();
ObjectInputStream 可以通过 readObject()方法 读取可序列化的对象
tag:Object流;IO流;序列化;反序列化