使用java编辑csv文件中的数据

问题描述 投票:0回答:1

我正在开发一个私人项目,我需要在 CSV 文件中写入一些数据,并根据需要进行编辑。当我写入数据时,一切正常,但是当我尝试编辑文件中的某些数据时,我发现一些问题。当我尝试寻找解决方案时,主要是制作一个

temp.csv
来加载 CSV 文件中的所有数据并编辑所需的内容,然后将其重命名为第一个文件。如果文件中有大量数据、过多的 CPU 和内存使用以及时间消耗,这将很糟糕。

为了使问题更清楚,我的项目专注于预订汽车,当我注册任何新车时,将汽车中的 isBooked 实例设置为 false,因为它没有预订。问题在于,当我在另一个预订汽车的班级预订一辆车时,将其添加到预订汽车数据库中,该数据库也是一个带有附加变量的 csv 文件,并将预订实例设置为 true。但问题在于它只将其设置在内存中,文件数据库保持不变。

由于我还是 Java 初学者,我认为最好不要使用任何数据结构,只使用数组。

有什么解决方案可以让我编辑数据而无需删除和写入新文件吗?

java arrays csv
1个回答
0
投票

文本文件被写入一系列字节(通常是八位字节)。

您可以进行的唯一编辑是替换文本。即使这样也仅限于替换一段相同数量的字节。在大多数字符编码中,各种字符需要表示的字节数有所不同。这意味着即使您想用相同数量的替换字符替换多个字符,如果在表示中使用不同数量的字节,它们也可能不适合写入的文件。

这就是为什么您看到有关编写新文件来替换旧文件而不是就地编辑的教程。

如果您经常编辑非常大的文本文件作为管理数据的一种方式,我建议是时候重新审视您的应用程序的架构了。

经常用图表表示大量数据的部分通常最好由数据库管理系统进行管理。

如果您想将数据保留在 Java 应用程序本地,我建议使用纯 Java 编写的嵌入式数据库引擎。选择包括 H2 数据库引擎、Apache Derby 等等。

© www.soinside.com 2019 - 2024. All rights reserved.