Java 日看一类(36)之IO包中的ObjectInputVaildation接口和ObjectOutput接口

本文介绍了Java中ObjectInputVaildation与ObjectOutput接口的作用及其实现方式,详细阐述了对象验证与序列化的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ObjectInputVaildation类无继承类和引入包


该类的类头注释如下:

/**
 * Callback interface to allow validation of objects within a graph.
 * Allows an object to be called when a complete graph of objects has
 * been deserialized.
 *
 * @author  unascribed
 * @see     ObjectInputStream
 * @see     ObjectInputStream#registerValidation(java.io.ObjectInputValidation, int)
 * @since   JDK1.1
 */

大意如下:

允许验证图形中对象的回调接口。

允许在反序列化完整的对象图形后调用对象。



该类含有一个函数:

对该对象授予许可:

public void validateObject() throws InvalidObjectException;



该接口仅被javax.swing.JComponent中的ReadObjectCallback类完成,具体内容等到该类时再说




ObjectOutput接口无引入包

继承了DataOutput和AutoCloseable接口



该类的类头注释如下:

/**
 * ObjectOutput extends the DataOutput interface to include writing of objects.
 * DataOutput includes methods for output of primitive types, ObjectOutput
 * extends that interface to include objects, arrays, and Strings.
 *
 * @author  unascribed
 * @see java.io.InputStream
 * @see java.io.ObjectOutputStream
 * @see java.io.ObjectInputStream
 * @since   JDK1.1
 */

大意如下:

ObjectOutput接口继承了DataOutput并增加了写出对象的功能

DataOutput包括了写出基础数据类型的方法,ObjectOutput继承了该接口并增加了写出object,arrays和Strings的功能



该类含有如下方法:

写出对象

public void writeObject(Object obj)
  throws IOException;

写出单个byte

public void write(int b) throws IOException;

写出byte数组

public void write(byte b[]) throws IOException;

写出byte数组的特定区间

public void write(byte b[], int off, int len) throws IOException;

刷新输出流,清空内部数据

public void flush() throws IOException;

关闭输出流,释放资源

public void close() throws IOException;



该类的设置和其他输出类接口大同小异,主要在于writeObject方法的实现,这个方法也会是ObjectOutputStream重点实现的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值