黑马程序员技术交流社区

标题: io流 [打印本页]

作者: interface_sfly    时间: 2014-7-31 22:57
标题: io流
什么时候该用flush什么时候不该用?今天复习时看到都忘了。。。
作者: 孤守星空    时间: 2014-7-31 23:01
写要刷新,读就算了
作者: w26400481    时间: 2014-7-31 23:13
就是写close();的情况, 有些情况可以免除flush(); 就是省略了,写上也可以,

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


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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2