缓冲流的flush()方法用在哪?

yangymy 2017-05-17 09:30:40
缓冲流的flush()方法用在哪?用在while循环外还是内部?
...全文
432 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
落尘雨墨 2017-05-17
  • 打赏
  • 举报
回复
引用 2 楼 yangymy 的回复:
[quote=引用 1 楼 m0_37722320 的回复:] 外面,flush这个操作的作用是将缓存中的输出流(字节流,字符流等)强制输出。输出流在进行输出时,比如像某个文件中写入内容,其实是先将输出流写入到缓冲区,当缓冲区写满后才将缓冲区的内容输出到文件中。但是当主机完成输出流的输出后,有可能缓冲区这个时候还没有被填满,这样的话,就会一直等待主机发送内容,这时候,就可以使用flush将缓冲区的内容强制输出到文件中,清空缓冲区。 所以,一般在关闭输出流之前,要先调用flush方法强制缓冲区中的内容输出,并清空缓冲区。
如果文件很大,就会一直往内存里面放,最后才清空缓冲区,那会不会有影响呢?[/quote] 缓冲区满了之后就会将缓冲区内的数据写出,java默认的缓冲区大小为8192字节,也可以自己设置。
yangymy 2017-05-17
  • 打赏
  • 举报
回复
引用 1 楼 m0_37722320 的回复:
外面,flush这个操作的作用是将缓存中的输出流(字节流,字符流等)强制输出。输出流在进行输出时,比如像某个文件中写入内容,其实是先将输出流写入到缓冲区,当缓冲区写满后才将缓冲区的内容输出到文件中。但是当主机完成输出流的输出后,有可能缓冲区这个时候还没有被填满,这样的话,就会一直等待主机发送内容,这时候,就可以使用flush将缓冲区的内容强制输出到文件中,清空缓冲区。 所以,一般在关闭输出流之前,要先调用flush方法强制缓冲区中的内容输出,并清空缓冲区。
如果文件很大,就会一直往内存里面放,最后才清空缓冲区,那会不会有影响呢?
落尘雨墨 2017-05-17
  • 打赏
  • 举报
回复 1
外面,flush这个操作的作用是将缓存中的输出流(字节流,字符流等)强制输出。输出流在进行输出时,比如像某个文件中写入内容,其实是先将输出流写入到缓冲区,当缓冲区写满后才将缓冲区的内容输出到文件中。但是当主机完成输出流的输出后,有可能缓冲区这个时候还没有被填满,这样的话,就会一直等待主机发送内容,这时候,就可以使用flush将缓冲区的内容强制输出到文件中,清空缓冲区。 所以,一般在关闭输出流之前,要先调用flush方法强制缓冲区中的内容输出,并清空缓冲区。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧