FileWriter 写文件造成数据重复

参考链接:

http://bbs.csdn.net/topics/390387974

https://www.cnblogs.com/lonely-buffoon/p/5576119.html

1. 第一是因为初始化FileWriter(...), append with true,因此每次在内存中rerun,都会追加数据到文件。

查看源码

2. 其次写数据时没有调用flush(),

查看FileWriter中flush()源码:

可以看到FileWriter继承自OutputStreamWriter类,其中调用flush()和close()也是调用的父类的flush()和close()方法。

查看sun.nio.cs.StreamEncoder flush的实现

猜你喜欢

转载自my.oschina.net/u/3781047/blog/1628737