需要从结果集中将250万个数据写入到CSV中,这是在Java中写入这些海量数据的最佳方法,目前写入需要1.5个小时。 示例代码:
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("test.csv"), "UTF-8")), false);
int colcount= rs.getMetaData().getColumnCount();
while(rs.next()){
// working on some headers
for (int i= 1; i<= colcount; i++) {
Object value = rs.getObject(i);
pw.println(value.toString());
}
}
请帮助我
答案 0 :(得分:1)
尝试直接在数据库查询中准备CSV(如果可能)。我的意思是,与其运行select * from table
之类的查询并处理每一列作为响应,不如执行select id || ', ' || name from table
并将第一列用作整个CSV行。