BufferedWriter和FileWriter的区别

2017-10-14  本文已影响0人  98e46a4d60b6

区别:

BufferedWriter 

1.有缓冲区(默认8192字符=16384字节) private static int defaultCharBufferSize = 8192; 

可以通过构造方法来修改(一般不需修改) public BufferedWriter(Writer out, int sz

2.由于有缓冲区所以效率要比FileWriter高

3.缓冲区能缓存8192个字符 满了或者close、flush之后才会进行查码表

之后再缓存在StreamEncoder的缓冲区中(8192字节)

4.内部是使用FileWriter来读写的


FileWriter

1.其实内部也有缓冲区(8192字节) 

private static final int DEFAULT_BYTE_BUFFER_SIZE = 8192;

2.FileWriter效率低

3.来一个字符查一次码表

缓冲在StreamEncoder的缓冲区中(8192字节)

是父类OutputStreamWriter 中private final StreamEncoder se(负责查码表)的缓冲区

上一篇 下一篇

猜你喜欢

热点阅读