首頁 >Java >java教程 >如何在 Java 中將物件追加到現有的 ObjectOutputStream?

如何在 Java 中將物件追加到現有的 ObjectOutputStream?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 09:06:13571瀏覽

How Can I Append Objects to an Existing ObjectOutputStream in Java?

追加到 ObjectOutputStream:解決方案

在 Java 中,本質上不支援追加到 ObjectOutputStream。嘗試使用標準 ObjectOutputStream 附加到現有檔案將導致讀取時出現 StreamCorruptedException。

要克服這個限制,可以子類化 ObjectOutputStream 並重寫其 writeStreamHeader 方法。修改後的 writeStreamHeader 不應寫入標頭,而是在寫入初始物件時重置流。

以下程式碼示範了 AppendingObjectOutputStream 類別的建立:

要使用該類,判斷目標歷史檔案是否存在。如果是,則實例化 AppendingObjectOutputStream 以追加資料而不寫入標頭。如果檔案不存在,則實例化標準ObjectOutputStream來寫入頭。

透過使用AppendingObjectOutputStream,可以成功地將物件追加到現有的歷史檔案中,確保所有寫入的物件都可以讀取以正確的順序。

以上是如何在 Java 中將物件追加到現有的 ObjectOutputStream?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn