加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java:写大文件?

发布时间:2020-12-14 17:44:00 所属栏目:Java 来源:网络整理
导读:问候, 我从数据库中获取大量记录并写入文件.我想知道编写大文件的最佳方法是什么. (1Gb – 10Gb). 目前我正在使用BufferedWriter BufferedWriter mbrWriter=new BufferedWriter(new FileWriter(memberCSV));while(done){ //do writings}mbrWriter.close();
问候,
我从数据库中获取大量记录并写入文件.我想知道编写大文件的最佳方法是什么. (1Gb – 10Gb).

目前我正在使用BufferedWriter

BufferedWriter mbrWriter=new BufferedWriter(new FileWriter(memberCSV));
while(done){
 //do writings
}
mbrWriter.close();

解决方法

如果您真的坚持使用Java,那么最好的方法是在数据进入后立即写入,因此不要先将ResultSet中的所有数据收集到Java的内存中.否则你至少需要Java中的那么多可用内存.

因此,例如

while (resultSet.next()) {
    writer.write(resultSet.getString("columnname"));
    // ...
}

也就是说,大多数像样的DB都有内置的导出到CSV的功能,这些功能无疑比你用Java做的更有效率.你没有提到你正在使用哪一个,但如果它是例如MySQL,你可以使用LOAD DATA INFILE.只需参考特定于DB的文档.希望这能带来新的见解.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读