FileInputStream和ByteArrayInputStream有什麼區別? 什麼時候我們應該使用它們? 什麼是使用一個超過其他Java文件處理類
-6
A
回答
0
流
- 字節面向流(8位)
- 好爲二進制數據,如一個Java .class文件,圖像等 的好處
- 好 「面向機器」
讀/寫器
- 炭(UTF-16)面向流(16位)在一個時間
- 一個字符
- 好爲文本,如一個Java源
- 好爲 「人性化」 的數據
緩衝
- 許多字節/ characte RS在時間
- 總是除非有用的證據,否則
兩個ByteArrayInputStream的和的FileInputStream服務於同一目的,即讀取二進制數據,並都實現一個共同的抽象超InputStream.So這是非常艱難的發現中了鮮明的對比但是通用邏輯規定陣列已經存在於存儲器中,因此與存在於文件系統中的文件相比,它們可以更快地被訪問。另外,如果您仔細閱讀這兩個類的文檔,您將發現ByteArrayInputStream的讀取功能無法阻止,而如果沒有輸入可用,則FileInputStream中的讀取功能會阻塞。
所以,如果你是無所適從使用時再想想這些:
- 以什麼形式我有數據,文件或數組?
- 速度真的是一個要求嗎?如果是,那麼去ByteArray。但請記住,您無法在ByteArray中存儲太多的信息,因爲它們存在於內存中。
+0
https://www.quora.com/What-is-the-difference-between-File-input-output-stream-and-ByteArray-input-output-stream –
相關問題
- 1. 文件處理Java
- 2. java中的文件處理
- 3. Java文件異常處理
- 4. flush()java文件處理
- 5. 用Java處理ARJ文件
- 6. 處理XML文件(JAVA)
- 7. Java文件處理DisplayOnConsole
- 8. 文件處理類對象
- 9. C++文件處理類
- 10. 文本文件處理 - 使用java
- 11. 與批處理文件打開文件,然後使用文件中的java類
- 12. 處理從批處理文件運行Java的錯誤
- 13. 使用處理庫 - 在處理草圖中的Java文件中?
- 14. 從批處理文件運行編譯的Java類
- 15. 處理.CSV文件並將listarrays分類爲多個listarrays? - JAVA
- 16. Java文件處理類層次結構邏輯
- 17. 對象構造函數的Java未處理文件類型
- 18. 在批處理文件中調用java類
- 19. 調試從Windows批處理文件中調用的Java類
- 20. 用於CSV的Java數據類型文件處理
- 21. Java。文件處理。 For循環錯誤
- 22. 在java中處理/讀取.BAI2文件
- 23. 使用Java處理大文件
- 24. Java - 以原子方式處理文件
- 25. 在Java中使用處理PDE文件?
- 26. 在Java中處理Excel文件
- 27. Java的並行文件處理
- 28. Java文件行處理(基礎知識)
- 29. 如何處理CSV文件在Java
- 30. Java處理來自文件的輸入
閱讀javadoc – Jens