这是我正在处理的应用程序的示例代码:
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循环中会解决问题吗?
答案 0 :(得分:-1)
将flush语句放入for循环中会解决问题吗?
不,它会减慢速度。您甚至不需要进行单flush()
次呼叫,因为当您close().
你的问题出在其他地方。