out.flush()和out.close()有什么作用?
生活随笔
收集整理的這篇文章主要介紹了
out.flush()和out.close()有什么作用?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- flush是把流里的緩沖數據輸出,flush以后還能繼續使用這個OutputStream。
- close是把這個流關閉了,也就是說以后這個OutputStream就不能用了,不過關閉之前會把緩沖的數據都輸出
關于flush
吧友的原話:
flush本意是沖刷,這個方法大概取自它引申義沖馬桶的意思,馬桶有個池子,你往里面扔東西,會暫時保存在池子里,只有你放水沖下去,東西才會進入下水道。
同理很多流都有一個這樣的池子,專業術語叫緩沖區,當你print或者write的時候,會暫時保存在緩沖區,并沒有發送出去,這是出于效率考慮的,因為數據不會自己發送過去,必須有其他機制,而且這個很消耗資源,就像馬桶你需要很多水,才能沖走,你如果扔一點東西,就沖一次水,那你水費要爆表了,同樣如果你寫一行文字,或者一個字節,就要馬上發送出去,那網絡流量,CPU使用率等等都要爆表了,所以一般只有在你真正需要發送否則無法繼續的時候,調用flush,將數據發送出去。
總結
以上是生活随笔為你收集整理的out.flush()和out.close()有什么作用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国外知名的源代码网站(转)
- 下一篇: uni-app(uniCloud)云开发