2

将 Java 对象或列表写入文本文件是可以的。但是我想知道如何更新或重写以前编写的对象而无需再次编写对象。例如,假设有一个 java.util.List 有一组对象。然后将该列表写入文本文件。然后稍后将再次读取该文件并从列表中获取所有对象,然后在运行时由 java 应用程序更改一个对象的值。然后我不需要将整个列表写回文本文件。相反,只需要在文本文件中重写或更新列表中的更新对象,而无需再次重写整个列表。请提供任何建议或带有示例代码的有用来源。

4

2 回答 2

1

如果没有一些相当复杂的逻辑,您通常无法在不重写整个文件的情况下更新对象。例如,如果列表中的一个对象包含字符串“shortstring”,并且您需要使用字符串“muchmuchlongerstring”对其进行更新,则文件中将没有空间用于更长的字符串,而无需重写以下所有内容文件。

如果您想将大型对象树持久保存到一个文件中并且仍然能够更新它们,那么您的代码将减少错误,并且可以通过使用许多基于文件的数据库之一来简化生活,例如:

于 2013-08-04T13:14:19.297 回答
1

看看RandomAccessFile。这将让您在文件中找到您想要的位置,并且只更新您想要更新的部分。

还可以在 stackoverflow 上查看这个问题。

于 2013-08-04T12:58:31.687 回答