java:写大文件?

前端之家收集整理的这篇文章主要介绍了java:写大文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问候,
我从数据库获取大量记录并写入文件.我想知道编写大文件的最佳方法是什么. (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的文档.希望这能带来新的见解.

原文链接:https://www.f2er.com/java/124090.html

猜你在找的Java相关文章