参考连接:html
http://bbs.csdn.net/topics/390387974java
https://www.cnblogs.com/lonely-buffoon/p/5576119.htmlapp
1. 第一是由于初始化FileWriter(...), append with true,所以每次在内存中rerun,都会追加数据到文件。.net
查看源码code
2. 其次写数据时没有调用flush(),htm
查看FileWriter中flush()源码:blog
能够看到FileWriter继承自OutputStreamWriter类,其中调用flush()和close()也是调用的父类的flush()和close()方法。继承
查看sun.nio.cs.StreamEncoder flush的实现内存