“你好,阿米戈!你已經使用BufferedReaderInputStreamReader類很長時間了。現在讓我們來看看它們到底做了什麼。”

InputStreamReader類是從InputStream接口到Reader接口經典適配器。這裡也沒什麼可補充的。

但簡而言之,這就是發生的事情。當您從InputStreamReader對象請求(讀取)下一個字符時,它會從傳遞給構造函數的InputStream中讀取幾個字節,並將它們作為一個字符返回。

但是 Reader 並不是最方便使用的對象。往往我們需要的不是一次讀取用戶輸入的所有字符,而是將這些字符拆分成行。

“但是 Reader 類有一個read (CharBuffer s) 方法。我們不能使用它嗎?”

“此方法以緩衝區大小的塊讀取數據,並將它們放入 CharBuffer 對像中。”

文本通常分為幾行。所以 read(CharBuffer s) 方法可能一次讀取多行。如果我們需要精確地閱讀文本直到一行的結尾(即一行中的所有字符直到換行符),最好尋找其他內容。並且確實存在另一種方法。在BufferedReader類中。

BufferedReader類是 Reader 之上的一個方便的結構,它有一個非常方便的方法:readLine ()。這種方法讓我們一次性從 Reader 中讀取整行文本。當您在代碼中調用 readLine 時,它會從 Reader 對像中讀取字符,直到遇到換行符。一旦遇到換行符,該方法就會將這些字符粘合在一個字符串中並返回它。

“我經常使用它,但我不知道它是如何工作的。現在我知道了。謝謝,金。”