java命名空间java.io类objectinputstream的类成员方法:
objectinputstream定义及介绍
本文导语:
objectinputstream
protected objectinputstream()
throws ioexception,
securityexception
为完全重新实现 objectinputstream 的子类提供一种方式,让它不必分配仅由 objectinputstream 的实现使用的私有数据。
如果已经...
protected objectinputstream()
throws ioexception,
securityexception
- 为完全重新实现 objectinputstream 的子类提供一种方式,让它不必分配仅由 objectinputstream 的实现使用的私有数据。
如果已经安装了安全管理器,则此方法首先通过 serializablepermission("enablesubclassimplementation")
权限调用安全管理器的 checkpermission
方法,以确保可以启用子类化。
- 抛出:
securityexception
- 如果安全管理器存在并且其 checkpermission
方法不允许启用子类化。
ioexception
- 另请参见:
securitymanager.checkpermission(java.security.permission)
,
serializablepermission
readobject
public final object readobject()
throws ioexception,
classnotfoundexception
- 从 objectinputstream 读取对象。对象的类、类的签名和类及所有其超类型的非瞬态和非静态字段的值都将被读取。可以使用 writeobject 和 readobject 方法为类重写默认的反序列化。由此对象引用的对象是可传递读取的,这样 readobject 即可重新构造这些对象的完全等价的图形。
通过完全恢复根对象的所有字段及其引用的对象来完全恢复根对象。此时,对象验证回调的执行顺序基于其注册优先级。回调由对象在其个别恢复时(通过 readobject 特定方法)进行注册。
当 inputstream 中出现问题或者遇到不应反序列化的类时,将抛出异常。所有异常对于 inputstream 而言都是致命的,将使其处于不确定状态;是忽略还是恢复流状态取决于调用者。
- 指定者:
- 接口
objectinput
中的 readobject
- 返回:
- 从流读取的对象
- 抛出:
classnotfoundexception
- 找不到序列化对象的类。
invalidclassexception
- 序列化使用的类出了问题。
streamcorruptedexception
- 流中的控制信息不一致。
optionaldataexception
- 在流中找到基本类型数据而非对象。
ioexception
- 任何常规的输入/输出相关的异常。