我需要将一些大量数据的报告生成到 csv 文件中。我想避免将所有数据加载到内存中并将它们全部刷新。我更喜欢的方法是创建 csv 标头,然后依次将数据写入 csv。
我正在使用 apache csv 的 csv 打印机,它可以使用一些设置创建 csv 行。但是当我在每次写入刷新后调用时,写入速度太慢了。
您对如何解决该任务有任何建议吗?
我需要将一些大量数据的报告生成到 csv 文件中。我想避免将所有数据加载到内存中并将它们全部刷新。我更喜欢的方法是创建 csv 标头,然后依次将数据写入 csv。
我正在使用 apache csv 的 csv 打印机,它可以使用一些设置创建 csv 行。但是当我在每次写入刷新后调用时,写入速度太慢了。
您对如何解决该任务有任何建议吗?
BufferedWriter
Java 提供了BufferedWriter
自动处理高效写入存储的类。不需要你打电话flush
。您可以设置缓冲区的大小,但我建议您从使用默认大小开始。
实例化此类对象的一种便捷方法是调用Files.newBufferedWriter
.
将您的CSVPrinter
对象建立在BufferedWriter
.