标签:java 刷新 目的 tst public syn body ams str
最近在做一个网络下载功能,I/O操作时,操作完OutputStream
时写了flush()
,目的是刷新输出流,将缓存写入物理设备。突然就想,这里是否需要flush()
呢?
我当时的代码:
|
|
FileOutputStream
继承了OutputStream
但是并没有覆写flush()
方法,而OutputStream
中flush()
是一个空方法。
|
|
所以,直接调用OutputStream
的flush()
方法是没有意义的。
再看一下BufferedOutputStream
|
|
这个类才真的具有flush()
功能。
flush()
方法不能保证缓存的数据一定写入了物理设备,它只是发起一个操作,具体写入物理设备由操作系统实现。OutputStream之flush() · 李大白写点儿啥
标签:java 刷新 目的 tst public syn body ams str
原文地址:https://www.cnblogs.com/lijianming180/p/12326957.html