标签: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