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
廣告