java BufferedReader中read()、read(char cbuf[])、read(char cbuf[], int off, int len)和readLine()的使用


 

 

read()

read()方法讀取輸入流
read()方法讀取的是單個字符,也可以說只要有輸入流就會一直讀取,返回的值是:作為一個整數(其范圍從 0 到 65535 (0x00-0xffff))讀入的字符,如果已到達流末尾,則返回 -1

因此使用該方法時應該盡量避免輸入流數據重復的發送,這樣會導致read()讀取到很長的重復數據,導致讀取超時,但是對於僅有單次發送的輸入流,則可以使用read()方法,

 

read(char[] cbuf)

該方法是每次讀取cbuf.length個字符到cbuf數組里面,源碼里面該方法其實調用的是read(char cbuf[], int off, int len)。即read(cbuf, 0, cbuf.length)

read(char[] cbuf)方法將字符讀入數組。 此方法將阻塞,直到某些輸入可用,發生I/O錯誤或到達流的末尾。

 

read(char cbuf[], int off, int len)

read(char[] cbuf,int off,int len) 方法讀取字符到一個數組中的一部分。此方法將阻塞,直到有輸入數據可用,發生I/ O錯誤,或者該流的末尾。
  參數:cbuf -- 目標緩沖區  off -- 偏移量開始存儲字符  len -- 要讀取的字符的最大數量
 

readLine()

readLine方法讀取一個是文本行。通過下列字符之一即可認為某行已終止:換行 ('\n')、回車 ('\r') 或回車后直接跟着換行。 返回的值是:包含該行內容的字符串,不包含任何行終止符,如果已到達流末尾,則返回 null

也就是說只要readLine方法讀取到的輸入流中含有回車換行符,則讀取結束,這樣的話對於連續重復發送的輸入流信息,我們可以在每條信息的末尾增加一個回車換行符,這樣readLine方法讀取到該符號時就會自動結束,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM