有 如果你构造时传入的不是字符流 它会帮你包装成bufferedWriter流 缓存一个8k的char数组 而我们知道buffered 流需要flush; 传入的是字符流的话 它不会帮你包装 你传入的是什么就是什么 字符流底层调用的是StreamEncoder StreamEncoder里面有个缓存 写的东西都写进了StreamEncoder的缓存里面去了 所以你要调用flush刷新缓存 你如果在构造函数里指定了自动刷新 调用3个指定的刷新缓存的方法时 掉完了StreamEncoder的wrtie写数据到缓存后 会在调用StreamEncoder。flush();刷新缓存里的数据 |