BufferedWriter和FileWriter的区别

区别:

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(负责查码表)的缓冲区


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 2,919评论 3 10
  • 、6一、基本知识 1.JDK和JRE的区别 答:JDK是java语言开发工具包,包含JRE和开发工具(javac....
    梦游的沙师弟阅读 1,247评论 0 4
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,155评论 0 62
  • 这是部阿根廷电影,电影灯光、调色、音乐、场景、剧情都很压抑,不过很喜欢,也许是自己心里存在哀伤,所以更喜欢疼痛。哀...
    假面唐七阅读 3,726评论 0 4