3
A
回答
3
所以Java docs說:
CopyBytes似乎是一個正常的程序,但它實際上代表了 一種低級別的I/O,你應該避免的。由於xanadu.txt包含 字符數據,因此最好的方法是使用字符流,如下一節中討論的 。還有更多複雜數據類型的流。字節流只能用於最原始的I/O。
字節流允許您按原樣訪問文件。只是字節。沒有任何交流。這意味着沒有字符集轉換,不處理整數或浮點數的二進制或ASCII表示形式,不處理字節順序或任何這些。更高級別的流提供了其中一些。
當然,複製文件的程序實際上是需要原始字節流的很好的例子,因爲它不需要或不需要對數據進行任何形式的解釋;它只是想逐字複製它。
那麼什麼真正的意思是,如果你認爲你需要他們,但要確保你知道自己在做:)
2
該建議是在閱讀本教程中討論的文本文件的上下文中。爲此,最好使用字符流來正確處理字符集轉換:
Java平臺使用Unicode約定存儲字符值。 字符流I/O自動將此內部格式轉換爲 和本地字符集。
使用字符流代替字節流 自動適應本地字符集,並準備 國際化的程序 - 無需程序員額外的努力。
相關問題
- 1. 爲什麼要避免在java中使用Runtime.exec()?
- 2. 爲什麼要避免Application.Worksheetfunction?
- 3. 爲什麼要在SQL中避免SELECT *?
- 4. 爲什麼要避免Java中的C++關鍵字?
- 5. 爲什麼要逃避和避免XSS
- 6. 爲什麼要避免使用字符串模塊並在Python中使用str?
- 7. 爲什麼要避免Java中的biginteger實例化
- 8. 爲什麼需要避免complexType?
- 9. 爲什麼建議避免使用.innerHTML?
- 10. 爲什麼要避免使用「是」和「不是」?
- 11. 爲什麼要避免使用i,j in for循環
- 12. 在Java中8避免NoSuchElementException異常流
- 13. 爲什麼要在HRESULT處理中避免宏?
- 14. 爲什麼要避免CDO在.NET中發送郵件?
- 15. 什麼是鍋爐板碼?爲什麼要避免它?
- 16. 爲什麼我需要避免在循環中使用try-catch-finally
- 17. 爲什麼我應該避免在servlet中使用InheritableThreadLocal?
- 18. 避免在Java中
- 19. SQLServer:爲什麼要避免表值用戶定義函數?
- 20. 如何避免在Java中使用「isDebugEnabled()」?
- 21. 爲什麼要避免MVVM中的事件?
- 22. 爲什麼要避免單元測試中的條件邏輯?
- 23. 爲什麼我們要避免編程中的Magic Numbers或Constants並使用宏?
- 24. 避免sql_variant但使用什麼?
- 25. 使用IoC容器時要避免什麼?
- 26. 避免音節
- 27. 我需要解釋爲什麼字節這樣的行爲,以及如何避免它
- 28. 爲什麼延續避免stackoverflow?
- 29. 當創建ILE RPG程序爲什麼要默認避免
- 30. 爲什麼要避免頁內<script>
什麼「低級別的I/O」的意思,這是一個很多繁瑣的使用字節流並且使用起來很複雜 - 並且更容易混亂。 – 2012-04-29 04:43:45