为什么OutputStreamWriter也需要清空缓存?

来源:5-2 字符流之文件读写流

smlrole

2016-01-26 11:13

为什么之前的OutputStreamWriter需要用flush()方法?这边的FileWriter也需要用flush()方法才能写入文本文件?

写回答 关注

2回答

  • 梁XX
    2016-02-21 21:25:55

    需要写入,你可以在使用OutputStreamWriter或FileWriter不加入flush()方法,运行后观察被复制文件大小,你会看到不是GBK的文件,有时候复制文本为空,即没有复制东西,为0KB. 同时字符流FileWriter有可能出现漏读现象,再加上flush()方法,发现都被写入。

    因为下次在使用字符流的时候一定要记得加flush()方法确保没有错误。

  • 2132132132
    2016-01-27 19:32:31

    我的理解是,因为它是通过OutputStream包装来的,底层还是OutputStream,只不过把byte和char进行双向解析,实现一次可以读一个字符,从而有OutputStreamWriter和InputStreamWriter

    213213...

    后面写错了,但你应该懂的

    2016-01-27 19:33:47

    共 1 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133869 学习 · 1060 问题

查看课程

相似问题