对象数据是很复杂的,我们可以利用对象序列化来实现
对象序列化是什么
对象序列化(Serialize
) 指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize
) 则指从IO流中恢复该Java对象。如果想让某个Java对象能够序列化,则必须让它的类实现java.io.Serializable
接口
public interface Serializable { }
Serializable
接口是一个空接口,实现该接口无须实现任何方法,它只是告诉JVM该类可以被序列化机制处理。通常建议程序创建的每个JavaBean
类都实现Serializable
。
ObjectInput
接口与ObjectOutput
接口分别继承了DataInput
和 DataOutput
接口,主要提供用于读写基本数据和对象数据的方法。ObjectInput
接口提供了readObject()
方法,此方法用于将对象从流中读出。ObjectOutput
提供了writeObject()
方法,此方法用于将对象写入流中。因为ObjectInput
与ObjectOutput
都是接口,所以不能创建对象,只能使用分别实现了这两个接口的ObjectInputStream
类和ObjectOutputStream
类来创建对象。