为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

2 回答

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

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

2132132132

后面写错了,但你应该懂的
2016-01-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信