Java基礎 IO流7 轉換流特有功能

2021-07-24 19:39:48 字數 781 閱讀 7229

轉換流特有功能:轉換流可以將位元組轉成字元,原因在於,將獲取到的位元組通過查編碼表獲取到指定對應字元。

轉換流的最強功能就是基於 位元組流+ 編碼表 。沒有轉換,沒有字元流。

發現轉換流有乙個子類就是操作檔案的字元流物件:

inputstreamreader

|--filereader

outputstreamwriter

|--filewrier

想要操作文字檔案,必須要進行編碼轉換,而編碼轉換動作轉換流都完成了。所以操作檔案的流物件只要繼承自轉換流就可以讀取乙個字元了。

但是子類有乙個侷限性,就是子類中使用的編碼是固定的,是本機預設的編碼表,對於簡體中文版的系統預設碼表是gbk。

filereader fr =new filereader("a.txt");

inputstreamreader isr = new inputstreamreader(newfileinputstream("a.txt"),"gbk");

以上兩句**功能一致,

如果僅僅使用平台預設碼表,就使用filereader fr = newfilereader("a.txt"); //因為簡化。

如果需要制定碼表,必須用轉換流。

轉換流 = 位元組流+編碼表。

轉換流的子類file = 位元組流 + 預設編碼表。

凡是操作裝置上的文字資料,涉及編碼轉換,必須使用轉換流。

IO流詳解(三)轉換流

inputstreamreader和outputstreamwriter 思考 我們鍵盤錄入都是位元組流錄入的,一次讀乙個肯定太麻煩了。我們知道有字元流bufferreader有乙個readline方法,如果一次讀一行的話是不是就輕鬆很多了。但是!位元組流沒有這個方法 我們想通過 bufferedr...

IO流之轉換流

查閱outputstreamwriter的api介紹,outputstreamwriter 是字元流通向位元組流的橋梁 可使用指定的字元編碼表,將要寫入流中的字元編碼成位元組。它的作用的就是,將字串按照指定的編碼表轉成位元組,在使用位元組流將這些位元組寫出去。public static void w...

JAVA中IO流物件之轉換流

我們平常可能會遇到這樣的問題,我們在以前用位元組流字元流儲存的時候字元編碼都是預設按系統的編碼儲存的,我們的電腦 是gbk簡體中文,但有時候我們需要別的字元編碼,像utf 8,這時候讀取的檔案就可能是亂碼了。這時候,io的轉換流就派上用場了。兩個新的io流類,outstreamwriter和inpu...