追加到 ObjectOutputStream:解決方案
在 Java 中,本質上不支援追加到 ObjectOutputStream。嘗試使用標準 ObjectOutputStream 附加到現有檔案將導致讀取時出現 StreamCorruptedException。
要克服這個限制,可以子類化 ObjectOutputStream 並重寫其 writeStreamHeader 方法。修改後的 writeStreamHeader 不應寫入標頭,而是在寫入初始物件時重置流。
以下程式碼示範了 AppendingObjectOutputStream 類別的建立:
要使用該類,判斷目標歷史檔案是否存在。如果是,則實例化 AppendingObjectOutputStream 以追加資料而不寫入標頭。如果檔案不存在,則實例化標準ObjectOutputStream來寫入頭。
透過使用AppendingObjectOutputStream,可以成功地將物件追加到現有的歷史檔案中,確保所有寫入的物件都可以讀取以正確的順序。
以上是如何在 Java 中將物件追加到現有的 ObjectOutputStream?的詳細內容。更多資訊請關注PHP中文網其他相關文章!