JavaTM 2 Platform
Standard Ed. 6

java.io
類別 LineNumberReader

java.lang.Object
  繼承者 java.io.Reader
      繼承者 java.io.BufferedReader
          繼承者 java.io.LineNumberReader
所有已實作的介面:
Closeable, Readable

public class LineNumberReader
extends BufferedReader

追蹤行號的緩衝字元輸入串流。此類別定義了方法 setLineNumber(int)getLineNumber(),它們可分別用於設置和獲取當前行號。

預設情況下,行編號從 0 開始。該行號隨資料讀取在每個行結束符處遞增,並且可以通過調用 setLineNumber(int) 更改行號。但要注意的是,setLineNumber(int) 不會實際更改串流中的當前位置;它只更改將由 getLineNumber() 返回的值。

可認為行在遇到以下符號之一時結束:換行符('\n')、回車(Enter)符('\r')、回車(Enter)後緊跟換行符。

從以下版本開始:
JDK1.1

欄位摘要
 
從類別 java.io.Reader 繼承的欄位
lock
 
建構子摘要
LineNumberReader(Reader in)
          使用預設輸入緩衝區的大小創建新的行編號 reader。
LineNumberReader(Reader in, int sz)
          創建新的行編號 reader,將字元讀入給定大小的緩衝區。
 
方法摘要
 int getLineNumber()
          獲得當前行號。
 void mark(int readAheadLimit)
          標記該串流中的當前位置。
 int read()
          讀取單個字元。
 int read(char[] cbuf, int off, int len)
          將字元讀入陣列中的某一部分。
 String readLine()
          讀取文本行。
 void reset()
          將該串流重新設置為最新的標記。
 void setLineNumber(int lineNumber)
          設置當前行號。
 long skip(long n)
          跳過字元。
 
從類別 java.io.BufferedReader 繼承的方法
close, markSupported, ready
 
從類別 java.io.Reader 繼承的方法
read, read
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

LineNumberReader

public LineNumberReader(Reader in)
使用預設輸入緩衝區的大小創建新的行編號 reader。

參數:
in - 提供底層串流的 Reader 物件

LineNumberReader

public LineNumberReader(Reader in,
                        int sz)
創建新的行編號 reader,將字元讀入給定大小的緩衝區。

參數:
in - 提供底層串流的 Reader 物件
sz - 指定緩衝區大小的 int 值
方法詳細資訊

setLineNumber

public void setLineNumber(int lineNumber)
設置當前行號。

參數:
lineNumber - 指定行號的 int 值
另請參見:
getLineNumber()

getLineNumber

public int getLineNumber()
獲得當前行號。

返回:
當前行號
另請參見:
setLineNumber(int)

read

public int read()
         throws IOException
讀取單個字元。行結束符被壓縮為一個換行('\n')字元。無論何時讀取行結束符,當前行號將加 1。

覆寫:
類別 BufferedReader 中的 read
返回:
讀取的字元;如果已到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
將字元讀入陣列中的某一部分。無論何時讀取行結束符,當前行號都將加 1。

覆寫:
類別 BufferedReader 中的 read
參數:
cbuf - 目標緩衝區
off - 開始存儲字元處的偏移量
len - 要讀取的最多字元數
返回:
讀取的位元組數量,如果已到達串流的末尾,則返回 -1
拋出:
IOException - 如果發生 I/O 錯誤

readLine

public String readLine()
                throws IOException
讀取文本行。無論何時讀取行結束符,當前行號都將加 1。

覆寫:
類別 BufferedReader 中的 readLine
返回:
包含行內容的字元串,不包括任何行結束符;如果已到達串流的末尾,則返回 null
拋出:
IOException - 如果發生 I/O 錯誤

skip

public long skip(long n)
          throws IOException
跳過字元。

覆寫:
類別 BufferedReader 中的 skip
參數:
n - 要跳過的字元數
返回:
實際跳過的字元數
拋出:
IOException - 如果發生 I/O 錯誤
IllegalArgumentException - 如果 n 為負

mark

public void mark(int readAheadLimit)
          throws IOException
標記該串流中的當前位置。對 reset() 的後續調用會嘗試重新將串流定位到此點,還將相應地重新設置行號。

覆寫:
類別 BufferedReader 中的 mark
參數:
readAheadLimit - 在仍保留該標記的情況下,對可讀取字元數量的限制。在讀取這樣多的字元後,嘗試重置串流可能會失敗。
拋出:
IOException - 如果發生 I/O 錯誤

reset

public void reset()
           throws IOException
將該串流重新設置為最新的標記。

覆寫:
類別 BufferedReader 中的 reset
拋出:
IOException - 如果該串流未被標記,或者該標記已失效

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only