java中csv文件的读写操作的成本(时间)有多高?

java中csv文件的读写操作的成本(时间)有多高?,java,csv,Java,Csv,我正在写一个软件,其中有一部分处理读写操作。我想知道在csv文件上执行这些操作的成本有多高。是否有其他占用较少时间的文件格式?因为我必须在每个周期结束时写和读csv文件 读写操作取决于文件系统、硬件、软件配置、内存、内存设置和要读取文件的大小。但不是在格式上。与此相关的另一个问题是解析文件的成本肯定相对较低,因为csv非常简单 关键是CSV对于数据表是一种很好的格式,但对于嵌套数据则不是。如果您的数据包含大量嵌套信息,您可以将其分离到不同的csv文件中,或者您将有一些信息冗余,这将影响您的性能。

我正在写一个软件,其中有一部分处理读写操作。我想知道在csv文件上执行这些操作的成本有多高。是否有其他占用较少时间的文件格式?因为我必须在每个周期结束时写和读csv文件

读写操作取决于文件系统、硬件、软件配置、内存、内存设置和要读取文件的大小。但不是在格式上。与此相关的另一个问题是解析文件的成本肯定相对较低,因为csv非常简单

关键是CSV对于数据表是一种很好的格式,但对于嵌套数据则不是。如果您的数据包含大量嵌套信息,您可以将其分离到不同的csv文件中,或者您将有一些信息冗余,这将影响您的性能。但其他格式可能有其他类型的冗余

不要过早地优化。如果您非常频繁地从文件中读写,那么这个文件肯定会保存在RAM中。JSON或压缩文件可能会节省大小,读取速度更快,但解析时间会更长,最后可能会更慢。解析时间也取决于库的实现(Gson vs Jackson)和版本


了解问题背后的原因以提供更好的ansewrs将非常好。

读写操作取决于文件系统、硬件、软件配置、内存、内存设置和要读取的文件大小。但不是在格式上。与此相关的另一个问题是解析文件的成本肯定相对较低,因为csv非常简单

关键是CSV对于数据表是一种很好的格式,但对于嵌套数据则不是。如果您的数据包含大量嵌套信息,您可以将其分离到不同的csv文件中,或者您将有一些信息冗余,这将影响您的性能。但其他格式可能有其他类型的冗余

不要过早地优化。如果您非常频繁地从文件中读写,那么这个文件肯定会保存在RAM中。JSON或压缩文件可能会节省大小,读取速度更快,但解析时间会更长,最后可能会更慢。解析时间也取决于库的实现(Gson vs Jackson)和版本


了解问题背后的原因以提供更好的ansewrs将是一件好事。

读取/写入CSV文件的成本,以及它是否适合您的应用程序,取决于用例的详细信息。具体地说,如果您只是从文件的开头开始读取,然后写入到文件的结尾,那么CSV格式可能工作得很好。但是,如果您需要访问文件中间的特定记录,那么您可能希望选择另一种格式。
CSV文件的主要问题是,它不是随机访问的好格式选择,因为每个记录(行)的大小都是可变的,因此您不能简单地查找文件中的特定记录偏移量,而是需要读取每一行(当然,您仍然可以跳转和采样,但不能直接通过记录偏移量进行查找)。其他具有固定大小记录的格式将允许您直接查找文件中的特定记录,使文件中间的条目更新成为可能,而不需要重新读取和重写整个文件。

< P>读取/写入CSV文件的成本,以及它是否适合您的应用程序,取决于用例的细节。具体地说,如果您只是从文件的开头开始读取,然后写入到文件的结尾,那么CSV格式可能工作得很好。但是,如果您需要访问文件中间的特定记录,那么您可能希望选择另一种格式。
CSV文件的主要问题是,它不是随机访问的好格式选择,因为每个记录(行)的大小都是可变的,因此您不能简单地查找文件中的特定记录偏移量,而是需要读取每一行(当然,您仍然可以跳转和采样,但不能直接通过记录偏移量进行查找)。具有固定大小记录的其他格式允许您直接查找文件中的特定记录,更新文件中间的一个条目,而不需要重新读取和重写整个文件。

我尝试将测试结果写入CSV文件中,该文件有4列,但可以包含数千行,稍后我将计算百分比,列总数。我正在尝试将测试结果写入csv文件,该文件有4列,但可以包含数千行。稍后,我将计算列总数的百分比。