java之IO流(緩衝流 轉換流)

2021-09-23 06:10:58 字數 2032 閱讀 8202

緩衝流是在位元組流或字元流的基礎上,新增了乙個緩衝區。

緩衝流相對於位元組流和字元流有一些優點:

案例**:

try

(bufferedinputstream bis =

newbufferedinputstream

(new

fileinputstream

(source)

;bufferedoutputstream bos =

newbufferedoutputstream

(target)))

}catch

(ioexception e)

案例**:

位元組輸入流(一):

try

(bufferedreader br =

newbufferedreader

(new

filereader

("file\\a.txt"))

)}catch

(ioexception e)

位元組輸入流(二):

try

(bufferedreader br =

newbufferedwriter

(new

filereader

("file\\a.txt"))

)}catch

(ioexception e)

位元組輸出流:

try

(bufferedwriter bw =

newbufferedwriter

(new

filewriter

("file\\a.txt"))

)catch

(ioexception e)

位元組字元轉換流,主要針對文字檔案進行操作,它既保留了字元流在操作文字的時候的便利性,同時也保留了位元組流在資料傳輸時候的穩定性。

什麼情況下使用轉換流:

案例:

將乙個採用utf8字符集的文字中的內容拷貝到乙個採用gbk字符集的文字中,並在拷貝完成後,不能出現亂碼。

try

(inputstreamreader reader =

newinputstreamreader

(new

fileinputstream

("file\\utf8file"),

"utf8"

);outputstreamwriter writer =

newoutputstreamwriter

(new

fileoutputstream

("file\\gbkfile"

,true),

"gbk"))

}catch

(ioexception e)

案例:

使用scanner完成對乙個檔案的讀取(將讀取到的內容,通過system.out.println輸出到指定的檔案中)

printstream ps = null;

trycatch

(filenotfoundexception e)

//重定向前儲存乙份輸出流,復原用

printstream original = system.out;

是系統標準輸入流,本質來講,就是乙個inputstream

scanner scan =

newscanner

(system.in)

;//設定輸出到檔案(重定向輸出)

system.

setout

(ps)

;while

(scan.

hasnext()

)//還原輸出流

system.

setout

(original)

;

io 流(2 緩衝流,轉換流,資料流)

一 緩衝流bufferedreader,bufferedwriter,以字元為單位的流 bufferedinputstream bufferedoutputstream 以位元組為單位 以bufferedreader bufferedwriter 為例 如下 public static void m...

IO流(字元流 轉換流)

字元輸入流 public inputstreamreader inputstream in 預設的編碼格式 一般使用這個 public inputstreamreader inputstream in,string charsetname 指定的編碼格式 字元輸入流 位元組輸入流 編碼表 將位元組流...

IO流技術 輸入輸出流 轉換流 緩衝流

當用到io流時就有可能出現io異常,所以需要處理可能的異常 位元組流 fileoutputstream fos newfileoutputstream d fos.write dsfdsf getbytes 寫入位元組陣列 fos.close 用完後需要關閉流,釋放資源。位元組流不需要flush f...