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方法讀取到該符號時就會自動結束,