共計(jì) 919 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
Java 中反序列化對(duì)象的方法是使用 ObjectInputStream 類的 readObject() 方法。可以使用以下步驟來反序列化一個(gè)對(duì)象:
1. 創(chuàng)建一個(gè) FileInputStream 對(duì)象,用于讀取存有序列化對(duì)象的文件。
2. 創(chuàng)建一個(gè) ObjectInputStream 對(duì)象,并將 FileInputStream 對(duì)象作為參數(shù)傳入。
3. 使用 ObjectInputStream 對(duì)象的 readObject() 方法來讀取序列化對(duì)象。
4. 將讀取的對(duì)象進(jìn)行類型轉(zhuǎn)換,以便使用它的方法和字段。
5. 關(guān)閉 ObjectInputStream 對(duì)象。
下面是一個(gè)反序列化對(duì)象的示例:
try {
// 創(chuàng)建一個(gè) FileInputStream 對(duì)象
FileInputStream fileInputStream = new FileInputStream("serializedObject.ser");
// 創(chuàng)建一個(gè) ObjectInputStream 對(duì)象,并將 FileInputStream 對(duì)象作為參數(shù)傳入
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
// 使用 ObjectInputStream 對(duì)象的 readObject() 方法來讀取序列化對(duì)象
Object obj = objectInputStream.readObject();
// 將讀取的對(duì)象進(jìn)行類型轉(zhuǎn)換
MyClass myObject = (MyClass) obj;
// 使用對(duì)象的方法和字段
myObject.myMethod();
// 關(guān)閉 ObjectInputStream 對(duì)象
objectInputStream.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
在反序列化對(duì)象時(shí),需要確保序列化對(duì)象的類存在于當(dāng)前的類路徑中,并且類的序列化 ID 與序列化對(duì)象的 ID 匹配,否則會(huì)拋出 ClassNotFoundException 或 InvalidClassException。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!