当前位置: 首页 > 知识库问答 >
问题:

更新java中写入文本文件的对象

广宏远
2023-03-14

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

共有2个答案

丁学
2023-03-14

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

如果您希望将大型对象树保存到一个文件中,并且仍然能够更新它们,那么通过使用许多基于文件的数据库中的一种,您的代码将不会有太多错误,并且生活将会得到简化,例如:

  • (参见爪哇和
  • 德比
  • H2(基于磁盘的表)
缪晋
2023-03-14

看一下随机访问文件。这将使您可以在文件中查找您想要的位置,并且只更新您想要更新的部分。

另外看看stackoverflow上的这个问题。

 类似资料:
  • 问题内容: 我在javascript中有一个JSON对象。我只想将JSON对象写入文本文件。到目前为止,从我遇到的情况来看,由于客户端的安全问题,无法这样做。有解决方法吗?如果最初放置一些虚拟值,是否可以修改已经存在的文件? 谢谢 问题答案: 您可以做的一件事就是将JSON设置为即时下载。 工作演示:http : //jsfiddle.net/sLq3F/ 除此之外,由于安全原因,您无法在客户端的

  • 问题内容: 我需要在文本文件的开头写入一些内容。我有一个包含内容的文本文件,我想在此内容之前写点东西。说我有; 先生,下午好,今天好吗? 我很好你怎么样? 感谢您的询问,我很棒 修改后,我希望它像这样: Page 1-Scene 59 25.05.2011 先生,下午好,今天好吗? 我很好你怎么样? 感谢您的询问,我很棒 刚刚组成的内容:)我如何以这种方式修改文本文件? 问题答案: 您无法真正 通

  • 问题内容: 我有以下代码: 在控制台中,使用System.out.println(line)输出的代码为我提供了正确的输出。但是,当我打开CSV文件时,它似乎是反向写入的。Excel首先抱怨行数。但是,仅显示原始数据集的最后一行。数据集(以一种低效的方式进行了预处理)包含1000多个行。因此,我不能简单地附加每个条目。 有更好的方法吗? 提示和技巧非常受欢迎。更进一步,我尝试了一些编写器:-CSV

  • 问题内容: 我对使用Spring应用程序的属性文件中的值进行写入/更新时有一些要求。 我已经用谷歌搜索过,但是我没有找到使用Spring的直接方法。 是否有人知道该怎么做或是否有最佳方法。 提前致谢。 问题答案: 您可以这样实现: 资源 编辑:使用来自org.springframework.Util的defaultPropertiesPersiter更新

  • 我有以下代码: 使用System在我的控制台中输出代码。出来println(line)提供了正确的输出。然而,当我打开CSV文件时,它似乎是反向写入的。Excel首先抱怨行的数量。但是,仅显示原始数据集的最后一行。数据集(预处理效率很低)包含1000多行。因此,我不能简单地附加每个条目。 有更好的方法吗? 提示和技巧是非常受欢迎的。此外,我还尝试了几种编写器:-CSVwrite-BufferedW

  • 问题内容: 因此,我正在使用 BufferedWriter, 并希望将一些文本写入文本文件。 由于某种原因,正在创建文本文档,但是没有写入任何文本,这是为什么呢? 问题答案: 您需要关闭或使用