帶有緩衝區的字元輸入流

2021-10-16 05:23:10 字數 1569 閱讀 6350

帶有緩衝區的字元輸入流

使用這個流的時候,不需要自定義char陣列,或者不用定義byte陣列,自帶緩衝

當乙個流的構造方法中,需要乙個流的時候,這個被傳進來的流叫做節點流,外部負責包裝的流,叫做包裝流,或者處理流。

建立物件時 bufferedreader的構造方法特殊,要接受乙個reader型別的引數,也就是說只能穿乙個字元流的型別,不能傳位元組流stream

filereader reader =

newfilereader

("text");

bufferedreader br =

newbufferedreader

(reader)

;br.

close()

;//只需要關br的流就行。br的close方法中會呼叫關閉filereader的close方法

當前程式,filereader是乙個節點流

​ bufferedreader是包裝流/處理流

對於包裝流來說,只需關閉最外層的流就可以,裡面的節點流會自動關閉。

string firstline = br.readline()。可以一次讀一行 讀完返回null

readline方法讀取乙個文字行,不帶換行符,sys.out.print時會全部寫在一行

//readline()讀一行

string str = null;

while

((str = br.

readline()

)!=null)

節點流和包裝流是相對而言的

fileinputstream fis =

newfileinputstream

("testfile");

//轉換流,將位元組流轉換為字元流,因為br構造方法裡面只能傳字元流型別的引數

//fis是節點流,reader是包裝流

inputstreamreader reader =

newinputstreamreader

(fis)

;//reader是節點流,br是包裝流

bufferedreader br =

newbufferedreader

(reader)

;//關閉最外層

br.close

()

合併

bufferedreader br =

newbufferedreader

(new

inputstreamreader

(new

fileinputstream

("testfile"))

)

bufferedwriter out =

newbufferedwriter

(new

outputstreamwriter

(new

fileouputstream

("testfile"))

)

輸入緩衝區與輸出緩衝區

本博文通過一段程式來理解輸入緩衝區與輸出緩衝區。程式如下 author wanghao created time thu 17 may 2018 06 03 12 ampdt file name test.c description include int main int argc,const c...

帶有緩衝區的流 Buffer

readerline 方法 public static void main string args throws ioexception br.close 關閉只需要關閉最外層的包裝流 裝飾者模式 轉換流 inputstreamreader public static void main strin...

清空輸入緩衝區

清空輸入緩衝區 cin.clear 清除錯誤標記,比如要求輸入int型,但我們輸入了char型,就會導致輸入錯誤,產生錯誤標記 cin.sync 清空輸入緩衝區 cin.ignore n,ch 第乙個引數是清空輸入緩衝區的大小,第二個引數是終止字元 注 終止字元也會被丟棄 常用形式有以下兩種 cin...