2013-08-04 32 views
1

將Java對象或列表寫入文本文件是可以的。但我想知道如何更新或重寫先前寫入的對象,而無需再次編寫對象。例如,假設有一個java.util.List有一組對象。然後將該列表寫入文本文件。然後,該文件將被再次讀取並從列表中獲取所有對象,然後在運行時由java應用程序更改一個對象的值。然後,我不需要將整個列表寫回文本文件。相反,只有列表中更新的對象需要在文本文件中重寫或更新,而無需再次重寫整個列表。任何建議,或有示例代碼的有用的來源請。更新寫入到java文本文件的對象

+0

您正在使用文本文件作爲數據庫。事情會變得混亂,你可以根據索引在不同的行上分離元素;但我會去數據庫路線。 –

回答

1

看看RandomAccessFile。這可以讓你尋找你想要的文件,只更新你想要更新的部分。

也可以在計算器上查看此question

+0

謝謝。我的問題可以用這個來解決。 –

1

如果沒有一些相當複雜的邏輯,通常無法在不重寫整個文件的情況下更新對象。例如,如果列表中的一個對象包含一個字符串「shortstring」,並且您需要使用字符串「muchmuchlongerstring」進行更新,則文件中將不會有空字符串用於較長的字符串,而不會重寫以下所有內容文件。

如果您想將大型對象樹保存到文件中,並且仍然有能力更新它們,那麼您的代碼就不會有多餘的bug,並且可以通過使用許多基於文件的數據庫之一來簡化生活,如:

+0

感謝您提供更有用的信息。 –