wcf_developer 2017-10-19 03:02 采纳率: 33.3%
浏览 1885
已采纳

IO流中的自动刷新有什么意义吗?

比如字符缓冲输出流中加入flush(),和不加入flush()有什么区别吗?
同样的打印流中的println()实现的自动刷新有什么实际的意义吗?对这个有点不是很理解,希望有大神可以帮忙解惑,不胜感激!

  • 写回答

2条回答 默认 最新

  • ywl470812087 2017-10-19 03:34
    关注

    java在使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过去,而不是分开一次一次地发.
    而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.
    所以如果在用流的时候,没有用flush()这个方法,很多情况下会出现流的另一边读不到数据的问题,特别是在数据特别小的情况下.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!