嗨我需要创建几个大的CSV文件,entires的顺序可能是200万。我所以我想知道如何有效地做到这一点..因此,几乎没有问题突然出现在我的脑海里用于创建大型CSV文件的Java IO的最佳做法
1。当我们通过BufferedWriter写入文件时,我们应该多久刷新一次?但我认为,bufferedWriter维护自己的缓冲区,并且一旦缓冲区满了,它会自动刷新它,如果是这种情况,那么为什么flush方法在那里呢?
由于我要创建的文件会很大。所以当我开始写文件时,文件会自动被提交到磁盘? (在调用writer.close()之前)或整个文件保留在主内存中,直到我关闭了作家?
- 通过commiting我的意思是,没有了已经写好部分的一部分是在主内存中,即它已经准备好GC
数据来自哪里?另一种基于磁盘的存储,通过网络或从内存中? – claymore1977
数据来自数据库并且很少有业务验证并且需要生成处理这些文件 – dpsdce