Java.io.ObjectInputStream 类



介绍

Java.io.ObjectInputStream 类反序列化先前使用 ObjectOutputStream 写入的原始数据和对象。以下是关于 BufferedInputStream 的重要几点:

  • 它用于恢复先前序列化的对象。它确保从流创建的图形中所有对象的类型与 Java 虚拟机中存在的类匹配。

  • 类按需使用标准机制加载。

类声明

以下是Java.io.ObjectInputStream 类的声明:

public class ObjectInputStream
   extends InputStream
      implements ObjectInput, ObjectStreamConstants

类构造函数

序号 构造函数和描述
1

protected ObjectInputStream()

这为完全重新实现 ObjectInputStream 的子类提供了一种方法,使其不必分配仅供此 ObjectInputStream 实现使用的私有数据。

2

ObjectInputStream(InputStream in)

这将创建一个从指定的 InputStream 读取的 ObjectInputStream。

类方法

序号 方法和描述
1 int available()

此方法返回可在不阻塞的情况下读取的字节数。

2 void close()

此方法关闭输入流。

3

void defaultReadObject()

此方法从此流读取当前类的非静态和非瞬态字段。

4 protected boolean enableResolveObject(boolean enable)

此方法使流能够允许替换从流中读取的对象。

5 int read()

此方法读取一个字节的数据。

6 int read(byte[] buf, int off, int len)

此方法读取到一个字节数组中。

7 boolean readBoolean()

此方法读取一个布尔值。

8 byte readByte()

此方法读取一个 8 位字节。

9 char readChar()

此方法读取一个 16 位字符。

10 protected ObjectStreamClass readClassDescriptor()

此方法从序列化流中读取类描述符。

11 double readDouble()

此方法读取一个 64 位双精度浮点数。

12 ObjectInputStream.GetField readFields()

此方法从流中读取持久字段,并按名称使其可用。

13 float readFloat()

此方法读取一个 32 位浮点数。

14 void readFully(byte[] buf)

此方法读取字节,直到所有字节都读取完毕才阻塞。

15 void readFully(byte[] buf, int off, int len)

此方法读取字节,直到所有字节都读取完毕才阻塞。

16 int readInt()

此方法读取一个 32 位整数。

17 long readLong()

此方法读取一个 64 位长整数。

18 Object readObject()

此方法从 ObjectInputStream 读取一个对象。

19 protected Object readObjectOverride()

此方法由使用受保护的无参数构造函数构造 ObjectOutputStream 的 ObjectOutputStream 的受信任子类调用。

20 short readShort()

此方法读取一个 16 位短整数。

21 protected void readStreamHeader()

此方法用于允许子类读取和验证其自己的流头。

22 Object readUnshared()

此方法从 ObjectInputStream 读取一个“非共享”对象。

23 int readUnsignedByte()

此方法读取一个无符号的 8 位字节。

24 int readUnsignedShort()

此方法读取一个无符号的 16 位短整数。

25 String readUTF()

此方法读取以修改后的 UTF-8 格式表示的字符串。

26

void registerValidation(ObjectInputValidation obj, int prio)

此方法注册一个对象,以便在返回图形之前进行验证。

27 protected Class<?> resolveClass(ObjectStreamClass desc)

此方法加载指定流类描述的本地类等效项。

28 protected Object resolveObject(Object obj)

此方法将允许 ObjectInputStream 的受信任子类在反序列化期间用一个对象替换另一个对象。

29 protected Class<?> resolveProxyClass(String[] interfaces)

此方法返回一个实现代理类描述符中命名的接口的代理类;子类可以实现此方法以从流中读取自定义数据以及动态代理类的描述符,允许它们对接口和代理类使用备用加载机制。

30 int skipBytes(int len)

此方法跳过字节。

继承的方法

此类继承自以下类的方法:

  • Java.io.InputStream
  • Java.io.Object
  • Java.io.ObjectInput
广告