從位元組流到字元流的裝換

2022-05-16 13:55:51 字數 954 閱讀 3436

system.in的型別可以歸結為節點流、位元組流、輸入流;

inputstreamreader這個物件是處理流,字元流,輸入流;

bufferedreader的型別是緩衝處理流、字元流、輸入流。

類 inputstreamreader是位元組流通向字元流的橋梁:它使用指定的 charset 讀取位元組並將其解碼為字元。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平台預設的字符集。如:gbk 

每次呼叫 inputstreamreader 中的乙個 read() 方法都會導致從底層輸入流讀取乙個或多個位元組。要啟用從位元組到字元的有效轉換,可以提前從底層流讀取更多的位元組,使其超過滿足當前讀取操作所需的位元組。 為了達到最高效率,可要考慮在 bufferedreader 內包裝 inputstreamreader。例如:  bufferedreader in= new bufferedreader(new inputstreamreader(system.in));

system.in是個位元組流

inputstreamreader是個字元流和位元組流之間的轉換中介

bufferedreader是個字元流

整體意思就是用inputstreamreader這個中介把system.in這個位元組流轉換成字元流bufferedreader

這樣輸入的時候就可以不是乙個乙個位元組讀,而是乙個乙個字元讀,再加上是個buffer,效率會高很多。

inputstream is = system.in;//鍵盤輸入流

inputstreamreader isr = new inputstreamreader(is);//位元組流轉換為字元流

bufferedreader bufr = new bufferedreader(isr);//把字元流新增到緩衝流

使用者通過reader物件的readline方法來進行讀取。

位元組流 字元流

fileoutputstream 構造 構造方法摘要 fileoutputstream file file 建立輸出流,不是以續寫方式關聯 fileoutputstream string name 建立輸出流,不是以續寫方式關聯 作用 1.建立乙個輸出流物件 2.如果你關聯的檔案,或者檔案的字串不存...

位元組流,字元流

在程式中所有的資料都是以流的方式進行傳輸或者儲存的,程式需要資料的時候需要使用輸入流讀取資料,而當程式需要將一些資料儲存起來的時候,就要使用輸出流。可以通過下面的輸入輸出流關係圖表示這種方式。位元組流 位元組流主要操作byte型別資料,以byte陣列為準,主要操作類是outputstream類和in...

位元組流 字元流 位元組緩衝流 字元緩衝流

位元組讀流 fileinputstream fis new fileinputstream file byte b new byte 1024 int len 0 while len fis.read b 1 字元讀流 filereader fr new filereader file char c...