java中flush()刷新缓冲区有什么作用?

请问,缓冲区为什么要刷新?... 请问,缓冲区为什么要刷新? 展开
 我来答
百度网友68b07c1
2007-01-30 · TA获得超过193个赞
知道答主
回答量:127
采纳率:0%
帮助的人:193万
展开全部
我的理解:输出流呢,类似于一根管道,输出的时候先放到管道里,然后管道满了存到介质上(硬盘或其他地方),当我们输出完后管道里面可能还有剩余,就用flush()清空管道即全部存到介质上。好象java默认的缓冲区是8kb?(我也忘了),就是说只有每填满8kb才会提交一次,当少于这个值时就不会提交,所以最后为防止有未提交数据就flush()一下,强行提交生于数据

也就是说,一般输出流关闭之前要用下这个方法。
进击熊孩子
2015-09-10 · TA获得超过190个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:66.4万
展开全部
这个是缓冲区的问题.
java在使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过去,而不是分开一次一次地发.
而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.

所以如果在用流的时候,没有用flush()这个方法,很多情况下会出现流的另一边读不到数据的问题,特别是在数据特别小的情况下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清廉且慎重灬不倒翁g
2007-01-31
知道答主
回答量:25
采纳率:0%
帮助的人:36.4万
展开全部
具体原理太长 我给你个网址吧:
http://fsz521job.itpub.net/post/5606/34827
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式