參考連接: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的實現內存