接口 java.io.Externalizable
- public interface Externalizable
- extends Serializable
Externalization 允许一个类指定用于读写流的方法。类实现的 Externalizable 接口的 writeExternal 和 readExternal 方法,使它可以完全控制流中某对象和它的子类型的格式和内容。这些方法必须同它的父类型协调来保存它状态。
串行化对象使用 Serializable 和 Externalizable 接口。另外对象的持久性机制也使用这两接口。测试被保存的每个对象的 Externalizable 接口。如果该对象支持它,则调用
writeExternal 方法。如果该对象不支持
Externalizable,但实现了 Serializable,那么应使用
ObjectOutputStream 方法保存它。
当重新创建一个 Externalizable 对象时,使用公有的无参构造子创建一个实例,同时调用
readExternal 方法。从 ObjectInputStream 中读取数据恢复可序列化对象。
- 来自:
- JDK1.1
- 参见:
- ObjectOutputStream, ObjectInputStream, ObjectOutput, ObjectInput, Serializable
方法索引
- readExternal(ObjectInput)
- 对象实现 readExternal 方法以恢复它的内容,对于基本类型的对象调用 DataInput 的方法执行恢复,对于对象、串和数组等对象则调用
readObject 方法恢复。
- writeExternal(ObjectOutput)
- 对象实现 writeExternal 方法以保存它的内容,对于它的基本类型值的保存调用 DataOutput 的方法,对于对象、串和数组的保存调用 ObjectOutput
的 writeObject。
方法
writeExternal
public abstract void writeExternal(ObjectOutput out) throws IOException
- 对象实现 writeExternal 方法以保存它的内容,对于它的基本类型值的保存调用 DataOutput 的方法,对于对象、串和数组的保存调用 ObjectOutput
的 writeObject。
- 抛出:
IOException
- 包括可能出现的任一 I/O 异常。
readExternal
public abstract void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- 对象实现 readExternal 方法以恢复它的内容,对于基本类型的对象的恢复调用 DataInput 的方法,对于对象、串和数组等的恢复调用 readObject
方法。
readExternal 方法必须以这些变量值被 writeExternal 方法写入时的同样类型和顺序读取。
- 抛出:
ClassNotFoundException
- 如果没有找到被恢复对象对应的类。