Java 简明教程

Java.io.ObjectInputStream Class

Introduction

Java.io.ObjectInputStream 类反序列化以前使用 ObjectOutputStream 编写的原始数据和对象。以下是有关 BufferedInputStream 的重要要点 -

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

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

Class declaration

下面是 Java.io.ObjectInputStream 类的声明 -

public class ObjectInputStream
   extends InputStream
      implements ObjectInput, ObjectStreamConstants

Class constructors

Sr.No.

Constructor & Description

1

protected ObjectInputStream() 这为完全重新实现 ObjectInputStream 的子类提供一种方式,无需分配仅由此 ObjectInputStream 实现使用的私有数据。

2

ObjectInputStream(InputStream in) 这创建一个从指定的 InputStream 读取的 ObjectInputStream。

Class methods

Sr.No.

Method & Description

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) 此方法跳过字节。

Methods inherited

此类从以下类中继承方法:

  1. Java.io.InputStream

  2. Java.io.Object

  3. Java.io.ObjectInput