所有类
|
摘要: 嵌套 | 字段 | 构造方法 | 方法 |
详细信息: 字段 | 构造方法 | 方法 |
java.io
接口 Externalizable
-
所有超级接口:
-
Serializable
-
所有已知子接口:
-
RemoteRef, ServerRef
-
所有已知实现类:
-
DataFlavor, MLet, PrivateMLet
-
public interface Externalizable
- extends Serializable
Externalizable 实例类的惟一特性是可以被写入序列化流中,该类负责保存和恢复实例内容。 若某个要完全控制某一对象及其超类型的流格式和内容,则它要实现 Externalizable 接口的 writeExternal 和 readExternal 方法。这些方法必须显式与超类型进行协调以保存其状态。这些方法将代替自定义的 writeObject 和 readObject 方法实现。
Serialization 对象将使用 Serializable 和 Externalizable 接口。对象持久性机制也可以使用它们。要存储的每个对象都需要检测是否支持 Externalizable 接口。如果对象支持 Externalizable,则调用 writeExternal 方法。如果对象不支持 Externalizable 但实现了 Serializable,则使用 ObjectOutputStream 保存该对象。
在重构 Externalizable 对象时,先使用无参数的公共构造方法创建一个实例,然后调用 readExternal 方法。通过从 ObjectInputStream 中读取 Serializable 对象可以恢复这些对象。
Externalizable 实例可以通过 Serializable 接口中记录的 writeReplace 和 readResolve 方法来指派一个替代对象。
-
从以下版本开始:
-
JDK1.1
-
另请参见:
-
ObjectOutputStream
, ObjectInputStream
, ObjectOutput
, ObjectInput
, Serializable
方法摘要 |
void |
readExternal(ObjectInput in) 对象实现 readExternal 方法来恢复其内容,它通过调用 DataInput 的方法来恢复其基础类型,调用 readObject 来恢复对象、字符串和数组。 |
void |
writeExternal(ObjectOutput out) 该对象可实现 writeExternal 方法来保存其内容,它可以通过调用 DataOutput 的方法来保存其基本值,或调用 ObjectOutput 的 writeObject 方法来保存对象、字符串和数组。 |
writeExternal
void writeExternal(ObjectOutput out)
throws IOException
-
该对象可实现 writeExternal 方法来保存其内容,它可以通过调用 DataOutput 的方法来保存其基本值,或调用 ObjectOutput 的 writeObject 方法来保存对象、字符串和数组。
-
-
-
参数:
-
out
- 要写入对象的流
-
抛出:
-
IOException
- 包含可能发生的所有 I/O 异常
readExternal
void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
-
对象实现 readExternal 方法来恢复其内容,它通过调用 DataInput 的方法来恢复其基础类型,调用 readObject 来恢复对象、字符串和数组。readExternal 方法必须按照与 writeExternal 方法写入值时使用的相同顺序和类型来读取这些值。
-
-
-
参数:
-
in
- 为了恢复对象而从中读取数据的流
-
抛出:
-
IOException
- 如果发生 I/O 错误
-
ClassNotFoundException
- 如果无法找到需要恢复的某个对象的类。
所有类
|
摘要: 嵌套 | 字段 | 构造方法 | 方法 |
详细信息: 字段 | 构造方法 | 方法 |