鴻蒙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() 方法,分別用于設(shè)置和獲取當(dāng)前行號。

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

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

Since:

JDK1.1

字段摘要

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

構(gòu)造函數(shù)摘要

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

方法總結(jié)

修飾符和類型 方法 描述
int getLineNumber() 獲取當(dāng)前行號。
void mark(int readAheadLimit) 標(biāo)記流中的當(dāng)前位置。
int read() 讀取單個字符。
int read(char[] cbuf, int off, int len) 將字符讀入數(shù)組的一部分。
String readLine() 閱讀一行文字。
void reset() 將流重置為最新標(biāo)記。
void setLineNumber(int lineNumber) 設(shè)置當(dāng)前行號。
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

構(gòu)造函數(shù)詳細(xì)信息

LineNumberReader

public LineNumberReader(Reader in)

使用默認(rèn)輸入緩沖區(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è)置當(dāng)前行號。

參數(shù):

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

getLineNumber

public int getLineNumber()

獲取當(dāng)前行號。

返回:

當(dāng)前行號

read

public int read() throws IOException

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

覆蓋:

在類 BufferedReader 中讀取

返回:

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

Throws:

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

read

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

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

覆蓋:

在類 BufferedReader 中讀取

參數(shù):

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

返回:

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

Throws:

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

readLine

public String readLine() throws IOException

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

覆蓋:

BufferedReader 類中的 readLine

返回:

包含行內(nèi)容的字符串,不包括任何行終止字符,如果已到達(dá)流的末尾,則為 null

Throws:

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

skip

public long skip(long n) throws IOException

跳過字符。

覆蓋:

跳過 BufferedReader 類

參數(shù):

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

返回:

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

Throws:

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

mark

public void mark(int readAheadLimit) throws IOException

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

覆蓋:

BufferedReader 類中的標(biāo)記

參數(shù):

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

Throws:

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

reset

public void reset() throws IOException

將流重置為最新標(biāo)記。

覆蓋:

在類 BufferedReader 中重置

Throws:

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號