flush()的確切用法是什麼?流和緩衝區有什麼區別?爲什麼我們需要緩衝區?flush()java文件處理
4
A
回答
9
緩衝的好處是效率。一次寫入4096個字節的數據塊比寫入4096個字節的數據速度通常更快。
緩衝的缺點是您錯過了反饋。輸出到句柄可以保留在內存中,直到寫入足夠的字節以便寫入文件句柄爲止。程序的一部分可能會將一些數據寫入文件,但程序的不同部分或其他程序不能訪問該數據,直到程序的第一部分將數據從內存複製到磁盤。根據數據寫入該文件的速度有多快,這可能需要很長時間。
當您調用flush()
時,即使緩衝區未滿,您仍要求操作系統立即將緩衝區中的所有數據寫入文件句柄。
3
flush
通知輸出流將所有數據發送到基礎流。這是必要的,因爲內部緩衝。緩衝區的基本目的是最大限度地減少對底層流API的調用。如果我將長字節數組存儲到FileOutputStream
,我不希望Java每個字節調用一次操作系統文件API。因此,在Java內部和外部的各個階段都使用緩衝區。即使你每個字節都調用fputc
一次,操作系統也不會真的每次寫入磁盤,因爲它有自己的緩衝區。
4
數據在實際寫入磁盤(在緩衝區中)之前有時會被緩存,導致緩衝區中的內容被寫入磁盤。
相關問題
- 1. 文件處理Java
- 2. 主義,如何處理多的flush()
- 3. java中的文件處理
- 4. Java文件異常處理
- 5. Java文件處理類
- 6. 用Java處理ARJ文件
- 7. 處理XML文件(JAVA)
- 8. Java文件處理DisplayOnConsole
- 9. 文本文件處理 - 使用java
- 10. javascript flush文本
- 11. 處理從批處理文件運行Java的錯誤
- 12. 使用處理庫 - 在處理草圖中的Java文件中?
- 13. Java。文件處理。 For循環錯誤
- 14. 在java中處理/讀取.BAI2文件
- 15. 使用Java處理大文件
- 16. Java - 以原子方式處理文件
- 17. 在Java中使用處理PDE文件?
- 18. 在Java中處理Excel文件
- 19. Java的並行文件處理
- 20. Java文件行處理(基礎知識)
- 21. 如何處理CSV文件在Java
- 22. Java處理來自文件的輸入
- 23. 遠程執行批處理文件java
- 24. 使用java處理Excel文件
- 25. 如何處理Java中的文件集
- 26. java命令行批處理文件
- 27. Java文件鎖定2處理
- 28. Java和多行批處理文件
- 29. 在java中的文件處理
- 30. java中的文件處理程序