BufferedWriter没有刷新数据

时间:2014-05-16 18:32:06

标签: java-io bufferedwriter

这是我正在处理的应用程序的示例代码:

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循环中会解决问题吗?

1 个答案:

答案 0 :(得分:-1)

  

将flush语句放入for循环中会解决问题吗?

不,它会减慢速度。您甚至不需要进行单flush()次呼叫,因为当您close().

时,它会自动发生

你的问题出在其他地方。