将Java对象或List写入文本文件是可以的。但我想知道如何更新或重写之前编写的对象,而无需再次编写对象。例如,假设有一个java.util.List有一组Objects。然后该列表被写入文本文件。然后,将再次读取该文件并从列表中获取所有对象,然后在运行时通过Java应用程序更改一个对象的值。然后我不需要将整个列表写回文本文件。相反,只需要在文本文件中重写或更新列表中的更新对象,而无需再次重写整个列表。请提供示例代码的任何建议或有用的来源。
答案 0 :(得分:1)
看看RandomAccessFile。这将允许您搜索所需文件中的位置,并仅更新要更新的部分。
另请参阅stackoverflow上的question。
答案 1 :(得分:1)
如果没有一些相当复杂的逻辑,通常无法在不重写整个文件的情况下更新对象。例如,如果列表中的某个对象包含字符串“shortstring”,并且您需要使用字符串“muchmuchlongerstring”更新它,则文件中没有空格用于较长的字符串而不重写以下内容中的所有内容文件。
如果你想将大型对象树保存到一个文件中并且仍然能够更新它们,你的代码将会减少错误,并且可以通过使用其中一个基于文件的数据库来简化生命,例如: / p>