codecamp

鸿蒙OS Externalizable

Externalizable

public interface Externalizable
extends Serializable

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

Since:

JDK1.1

方法总结

修饰符和类型 方法 描述
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 将对象写入的流

Throws:

Throw名称 Throw描述
IOException 包括可能发生的任何 I/O 异常

readExternal

void readExternal(ObjectInput in) throws ClassNotFoundException, IOException

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

参数:

参数名称 参数描述
in 要从中读取数据以恢复对象的流

Throws:

Throw名称 Throw描述
IOException 如果发生 I/O 错误
ClassNotFoundException 如果找不到正在恢复的对象的类。
鸿蒙OS DataOutput
鸿蒙OS FileFilter
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }