字節流和字符流的區別


  要把一片二進制數據逐一輸出到某個設備中,或者從某個設備中逐一讀取一片二進制數據,不管輸入或者輸出設備是什么,我們要用統一的方式來完成這些操作,用一種抽象的方式進行描述,這個抽象描述方式起名為IO流,對應的抽象類就是OutputStream和InputStream,不同的實現類就代表着不同的輸出和輸入設備,他們都是針對字節流進行操作的。

  在實際應用中,經常完全是字符的一段文本輸出或讀取進來,用字節流可以嗎?計算機中的一切最終都是二進制字節形式存在。對於“中國”這些字符,首先需要得到對於的字節,然后將字節寫入到輸出流中。讀取也一樣,需要讀取到的是字節,然后將這些字節轉換成字符並顯示出來。由於這一的需求很廣泛,人們專門提供了字符流的包裝類。

  底層設備永遠只接收字節數據,有時候要寫字符串到底層設備,需要將字符串轉換成字節再進行寫入。字符流是字節流的包裝,字符流則可以直接接受字符串,它內部將字符串轉換成字節。

  字符想字節轉換時,要注意編碼的問題,因為字符串轉換成字節數組,其實是轉換成該字符的某種編碼的字節形式,讀取也是一樣的道理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM