A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© interface_sfly 中级黑马   /  2014-7-31 22:57  /  1811 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么时候该用flush什么时候不该用?今天复习时看到都忘了。。。

13 个回复

倒序浏览
写要刷新,读就算了
回复 使用道具 举报
就是写close();的情况, 有些情况可以免除flush(); 就是省略了,写上也可以,

这个东西看你怎么理解, 我是一般先不写 看能不能出来, 出不来就加上,我现在就算告诉你了, 你也一样记不住


这个东西还是需要自己试,自己试出来的东西才是自己的. 不是吗.
回复 使用道具 举报
个人认为一般情况都不该用,交给close去调用即可。首先,你不能保证每次读写都充分利用了缓冲区,如果缓冲区还有空余位置你就flush,这不是白白消耗系统资源嘛。其次,缓冲区满了之后,IO流对象其实会自动去调用flush,根本无需你操心。还有,看源代码,IO流中不少类的flush方法其实是空的,啥事也不做,刷了也是白刷
回复 使用道具 举报
如果你要写的文件非常大,用这种方法的话,怕突然断电,那就写上吧
回复 使用道具 举报
当你用到Buffered 缓冲区的时候。就要使用 flush。。
回复 使用道具 举报
简单的给打个比方,好比往存钱罐里存钱,你想拿钱出来的时候就需要flush一下,如果你一直不拿,当你砸罐子的时候就相当于close。
回复 使用道具 举报
什么时候用,是要看具体的对象, 像字节流不用flush(),因为字节流是直接操作目的的!
回复 使用道具 举报
M单色调 来自手机 中级黑马 2014-8-1 03:28:40
9#
进来学习学习!
回复 使用道具 举报
还没看到IO流,进来学习下~~~·
回复 使用道具 举报
路过~~                 
回复 使用道具 举报
还没看到啊哈
回复 使用道具 举报
一般不用,因为在你关闭流close()方法具备刷新功能,只有当你的数据量过大时,为了应对断电等特殊情况而flush一下,防止数据丢失,这是我的理解,仅供参考!!!
回复 使用道具 举报
在字符流写的时候,如果你在close之前有两次或更多写到文件的动作,那最好在最好一次之前那几次用上,我感觉是这样,不对之处敬请指点。互相学习互相提高。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马