flush问题

flush问题

为什么这一节不需要使用flush方法,而后面的OutputStreamWriter一定要用flush才能写入?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
慕运维2858188 2017-09-19 08:52:45

一般在write()方法后都会写一个flush方法。

如果没写 程序关闭执行时也会去清空缓存写入到本地

如果没有 flush 此时数据在内存中, 断电就会丢失

所以能写就写

  • 提问者 kaido_o #1
    不是这个意思,我是说,我发现在FileOutputStream中只用write方法,不使用flush的情况下就可以做到文件的写入,但是在OutputStreamWriter里只用write没有办法写入内容,要使用flush后才有实际的写入。这是为什么?
    2017-09-19 09:56:38
  • 好帮手慕雪 回复 提问者 kaido_o #2
    你写不写flush都是没有关系的,如果最后有调用close()的话都会写入内容的,你是不是没有调用close(),注意一定要调用close()否则会有内存泄露的。但好的习惯是写上flush。
    2017-09-19 11:25:36
提问者 kaido_o 2017-09-18 22:08:14

http://img1.sycdn.imooc.com/climg//59bfd2a400019b4e09390523.jpg

http://img1.sycdn.imooc.com/climg//59bfd2a40001a2bd09140517.jpg

为什么在FileOutputStream中只用write方法就可以做到文件的复制,但是在OutputStreamWriter里只用write没有办法写入内容,要使用flush后才有实际的写入?

好帮手慕珊 2017-09-18 17:49:24

都可以不用的,调用close()方法就会自动清空缓冲区的内容。祝学习愉快!

  • 提问者 kaido_o #1
    不是说这个
    2017-09-18 22:08:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师