【问题标题】:Update objects written to a text files in java在java中更新写入文本文件的对象
【发布时间】:2013-08-05 06:34:28
【问题描述】:

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

【问题讨论】:

  • 您正在使用文本文件作为数据库。事情会变得一团糟,你可以根据索引将不同行的元素分开;但我会走数据库路线。

标签: java serialization io


【解决方案1】:

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

还可以在 stackoverflow 上查看这个 question

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 感谢您提供更有用的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多