fileWriter.write为什么总是少那么几行?

机器学习之禅 2014-06-19 05:22:10
这几行代码是这样的,下面是获得结果的最后几行,这里有个问题,
为什么写到文件里的数据少了那么几行?
通过输出可以看到i跑到了1033,list的size是1034,
那么应该有2068行,可是实际上只有1951行。
我发现用这个命令写文件总是少几行,这是怎么回事??
for (int i = 0; i<list.size(); i++) {
System.out.println("i is "+i);
fileWriter.write(list.get(i)[0] + "\n" + list.get(i)[1]+"\n");
System.out.println(list.get(i)[0] + "\n" + list.get(i)[1]);
}
System.out.println(list.size());

结果的最后几行
zq-gnzq-zc-zhuanhui
1
i is 1033
zq-gnzq-zuxie
3
1034
...全文
353 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlight2023 2014-06-20
  • 打赏
  • 举报
回复
每次写入数据到磁盘文件,调用fileWriter.flush()就会保证内存数据即使更新到磁盘
冰思雨 2014-06-20
  • 打赏
  • 举报
回复
没有调用flush方法,强制刷新缓冲。 楼主写入的数据,有些Writer会在内部建立缓冲区,提高数据写入效率。 所以,在写入数据之后,一般都会强制刷新缓冲区的数据,到目的地(本地硬盘或者远程计算机)。 当然,最后不要忘记调用close方法,关闭writer,释放资源。 另外,close方法也会强制刷新数据缓冲区。
vnvlyp 2014-06-19
  • 打赏
  • 举报
回复
肯定是没有close
疯癫行者 2014-06-19
  • 打赏
  • 举报
回复
结束时别忘了调这个: fileWriter.close();

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧