我有一個程序將通過並創建多個不同的類實例。我想用DataOutputStream將每個實例的詳細信息寫入文件(這是一個必要的練習,我將在後面討論其他方式),但問題是我注意到每次新實例出現時DataOutputStream都會覆蓋文件創建和書寫。我的第一個想法是每次寫入新實例時,首先使用DataInputStream獲取文件中的內容,保存它,然後用新實例重寫它。這似乎很快就會讓人困惑。對於這樣的事情,最佳做法是什麼?提前致謝。使用DataOutput/InputStream管理文件字節
編輯:我會嘗試和更具體一點,我想在這裏做什麼。 當我將要寫入該文件的類取出時,首先使用dataInputStream.readFully來獲取文件中的所有內容。我的理解是將文件中的所有字節存儲在一個數組中。我想將它與類實例進行比較,如果實例與文件中已有的東西相匹配,則不要將此特定實例(因爲它已經存在)輸出到文件中。否則,追加到文件。
我假設這沒有重複檢查(只是不斷增長的文件)?我需要寫些東西來擺脫困境。 – Benny 2013-05-01 21:54:21
這純粹追加到現有文件的最後。如果您有其他想法,我會建議編輯您的問題或提出一個新問題,包括對期望或期望行爲的更詳細解釋(僞代碼或代碼也有幫助)。但是,您可能還想調查JAXB或JavaBean序列化或其他類似的API,因爲它們已經解決了您試圖解決的根本問題(將數據序列化到磁盤)。 – rob 2013-05-01 22:32:43
我會完全使用序列化,但這是我試圖通過的一個特定練習。我編輯了這個問題,試圖更好地解釋。謝謝 – Benny 2013-05-01 22:50:21