Most visited

Recently visited

Added in API level 1

Externalizable

public interface Externalizable
implements Serializable

java.io.Externalizable


只有Externalizable实例的类的标识才被写入序列化流中,并且该类负责保存和恢复其实例的内容。 Externalizable接口的writeExternal和readExternal方法是通过一个类来实现的,它使类可以完全控制一个对象及其超类的流的格式和内容。 这些方法必须显式协调超类型以保存其状态。 这些方法取代了writeObject和readObject方法的自定义实现。
对象序列化使用Serializable和Externalizable接口。 对象持久性机制也可以使用它们。 要存储的每个对象都针对Externalizable接口进行测试。 如果对象支持Externalizable,则调用writeExternal方法。 如果对象不支持Externalizable并且没有实现Serializable,则使用ObjectOutputStream保存该对象。
当重构Externalizable对象时,将使用public no-arg构造函数创建实例,然后调用readExternal方法。 可序列化的对象通过从ObjectInputStream中读取来恢复。
Externalizable实例可以通过Serializable接口中记录的writeReplace和readResolve方法指定替换对象。

也可以看看:

Summary

Public methods

abstract void readExternal(ObjectInput in)

该对象实现readExternal方法,通过调用基本类型的DataInput方法和对象,字符串和数组的readObject方法来恢复其内容。

abstract void writeExternal(ObjectOutput out)

该对象实现writeExternal方法,通过调用DataOutput的方法为其基元值或调用对象,字符串和数组的ObjectOutput的writeObject方法来保存其内容。

Public methods

readExternal

Added in API level 1
void readExternal (ObjectInput in)

该对象实现readExternal方法,通过调用基本类型的DataInput方法和对象,字符串和数组的readObject方法来恢复其内容。 readExternal方法必须以与writeExternal写入的相同顺序和相同类型读取值。

Parameters
in ObjectInput: the stream to read data from in order to restore the object
Throws
IOException if I/O errors occur
ClassNotFoundException If the class for an object being restored cannot be found.

writeExternal

Added in API level 1
void writeExternal (ObjectOutput out)

该对象实现writeExternal方法,通过调用DataOutput的方法为其基元值或调用对象,字符串和数组的ObjectOutput的writeObject方法来保存其内容。

Parameters
out ObjectOutput: the stream to write the object to
Throws
IOException Includes any I/O exceptions that may occur

Hooray!