【发布时间】:2014-07-05 07:46:07
【问题描述】:
这是我正在开发的应用程序的示例代码:
BufferedWriter bw=new BufferedWriter(new FileWriter(new File("abc.txt")));
StringBuilder sb = null;
ResultSet rs = pstmt.execute();
while(rs.next()){
sb = new StringBuilder();
createLine(rs,sb);
bw.write(sb.toString());
}
bw.flush();
bw.close();
private void createLine(ResultSet rs, StringBuilder sb){
//based on conditions append the columns to string builder
sb.append(rs.getString("prodname"));
// and goes on...
}
现在,当我执行这个程序时,我观察到只生成了 8kb 的文件并且程序挂起,就好像它在等待清除某些东西一样。我确信从数据库中检索到的数据量应该会生成一个至少 40-50kb 的文件。 将flush语句放在for循环中会解决问题吗?
【问题讨论】:
-
完成。 createLine 仅将结果集中的列附加到 StringBuilber。