鴻蒙OS LineNumberReader

2022-10-20 15:27 更新

LineNumberReader

java.lang.Object

|---java.io.Reader

|---|---java.io.BufferedReader

|---|---|---java.io.LineNumberReader

public class LineNumberReader
extends BufferedReader

跟蹤行號的緩沖字符輸入流。 該類定義了 setLineNumber(int) 和 getLineNumber() 方法,分別用于設置和獲取當前行號。

默認情況下,行號從 0 開始。隨著數(shù)據(jù)的讀取,該數(shù)字在每個行終止符處遞增,并且可以通過調用 setLineNumber(int) 來更改。 但是請注意, setLineNumber(int) 實際上并沒有改變流中的當前位置; 它只會更改 getLineNumber() 將返回的值。

一行被認為是由換行符 ('\n')、回車符 ('\r') 或緊跟換行符的回車符中的任何一個終止的。

Since:

JDK1.1

字段摘要

從類 java.io.Reader 繼承的字段
lock

構造函數(shù)摘要

構造函數(shù) 描述
LineNumberReader(Reader in) 使用默認輸入緩沖區(qū)大小創(chuàng)建一個新的行號閱讀器。
LineNumberReader(Reader in, int sz) 創(chuàng)建一個新的行號閱讀器,將字符讀入給定大小的緩沖區(qū)。

方法總結

修飾符和類型 方法 描述
int getLineNumber() 獲取當前行號。
void mark(int readAheadLimit) 標記流中的當前位置。
int read() 讀取單個字符。
int read(char[] cbuf, int off, int len) 將字符讀入數(shù)組的一部分。
String readLine() 閱讀一行文字。
void reset() 將流重置為最新標記。
void setLineNumber(int lineNumber) 設置當前行號。
long skip(long n) 跳過字符。
從類 java.io.BufferedReader 繼承的方法
close, lines, markSupported, ready
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.Reader 繼承的方法
read, read

構造函數(shù)詳細信息

LineNumberReader

public LineNumberReader(Reader in)

使用默認輸入緩沖區(qū)大小創(chuàng)建一個新的行號閱讀器。

參數(shù):

參數(shù)名稱 參數(shù)描述
in 提供底層流的 Reader 對象

LineNumberReader

public LineNumberReader(Reader in, int sz)

創(chuàng)建一個新的行號閱讀器,將字符讀入給定大小的緩沖區(qū)。

參數(shù):

參數(shù)名稱 參數(shù)描述
in 提供底層流的 Reader 對象
sz 指定緩沖區(qū)大小的 int

方法詳情

setLineNumber

public void setLineNumber(int lineNumber)

設置當前行號。

參數(shù):

參數(shù)名稱 參數(shù)描述
lineNumber 指定行號的 int

getLineNumber

public int getLineNumber()

獲取當前行號。

返回:

當前行號

read

public int read() throws IOException

讀取單個字符。 行終止符被壓縮為單個換行符 ('\n') 字符。 每當讀取行終止符時,當前行號都會增加。

覆蓋:

在類 BufferedReader 中讀取

返回:

讀取的字符,如果已到達流的末尾,則為 -1

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

read

public int read(char[] cbuf, int off, int len) throws IOException

將字符讀入數(shù)組的一部分。 每當讀取行終止符時,當前行號都會增加。

覆蓋:

在類 BufferedReader 中讀取

參數(shù):

參數(shù)名稱 參數(shù)描述
cbuf 目標緩沖區(qū)
off 開始存儲字符的偏移量
len 要讀取的最大字符數(shù)

返回:

讀取的字節(jié)數(shù),如果已經(jīng)到達流的末尾,則為 -1

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

readLine

public String readLine() throws IOException

閱讀一行文字。 每當讀取行終止符時,當前行號都會增加。

覆蓋:

BufferedReader 類中的 readLine

返回:

包含行內容的字符串,不包括任何行終止字符,如果已到達流的末尾,則為 null

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

skip

public long skip(long n) throws IOException

跳過字符。

覆蓋:

跳過 BufferedReader 類

參數(shù):

參數(shù)名稱 參數(shù)描述
n 要跳過的字符數(shù)

返回:

實際跳過的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤
IllegalArgumentException 如果 n 為負

mark

public void mark(int readAheadLimit) throws IOException

標記流中的當前位置。 對 reset() 的后續(xù)調用將嘗試將流重新定位到該點,并且還將適當?shù)刂刂眯刑枴?/p>

覆蓋:

BufferedReader 類中的標記

參數(shù):

參數(shù)名稱 參數(shù)描述
readAheadLimit 在保留標記的同時限制可以讀取的字符數(shù)。 讀取這么多字符后,嘗試重置流可能會失敗。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤

reset

public void reset() throws IOException

將流重置為最新標記。

覆蓋:

在類 BufferedReader 中重置

Throws:

Throw名稱 Throw描述
IOException 如果流尚未被標記,或者標記已失效
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號