InputStream 和 OutputStream的繼承只能支持8位的字節流 這個8位的字節流怎麼去理解? 是說一次只能讀取或者寫入8個字節碼?
java的字節流在讀取的時候,是以一個字節8byte為單位讀取數據;而字符流則是以一個字符為單位讀取數據;需要說明的是java中,字符被加載時自動轉化為unicode編碼,而unicode長度為兩個字節為一個字符。即,讀取是默認數據單位的不同,字節流為一個字節,字符流為一個字符(unicode兩個字節)。
在處理非字符數據時一般使用字節流,而處理字符數據時使用字符流,如OS X上為GB2312編碼的漢字符號等,在處理時需要轉換為unicode,並且每次以2字節為一個字符單位讀取,這樣才不會出現數據亂碼或失真。希望能幫到你。