鸿蒙OS开发文档 鸿蒙OS LineNumberReader

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 1

LineNumberReader

java.lang.Object
|---java.io.Reader
|---|---java.io.BufferedReader
|---|---|---java.io.LineNumberReader

public class LineNumberReader
extends BufferedReader

跟踪行号的缓冲字符输入流。 该类定义了 setLineNumber(int) 和 getLineNumber() 方法,分别用于设置和获取当前行号。

默认情况下,行号从 0 开始。随着数据的读取,该数字在每个行终止符处递增,并且可以通过调用 setLineNumber(int) 来更改。 但是请注意, setLineNumber(int) 实际上并没有改变流中的当前位置; 它只会更改 getLineNumber() 将返回的值。

一行被认为是由换行符 ('\n')、回车符 ('\r') 或紧跟换行符的回车符中的任何一个终止的。

Since:

JDK1.1

字段摘要

从类 java.io.Reader 继承的字段
lock

构造函数摘要

构造函数描述
LineNumberReader(Reader in)使用默认输入缓冲区大小创建一个新的行号阅读器。
LineNumberReader(Reader in, int sz)创建一个新的行号阅读器,将字符读入给定大小的缓冲区。

方法总结

修饰符和类型方法描述
intgetLineNumber()获取当前行号。
voidmark(int readAheadLimit)标记流中的当前位置。
intread()读取单个字符。
intread(char[] cbuf, int off, int len)将字符读入数组的一部分。
StringreadLine()阅读一行文字。
voidreset()将流重置为最新标记。
voidsetLineNumber(int lineNumber)设置当前行号。
longskip(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

构造函数详细信息

LineNumberReader

public LineNumberReader(Reader in)

使用默认输入缓冲区大小创建一个新的行号阅读器。

参数:

参数名称参数描述
in提供底层流的 Reader 对象

LineNumberReader

public LineNumberReader(Reader in, int sz)

创建一个新的行号阅读器,将字符读入给定大小的缓冲区。

参数:

参数名称参数描述
in提供底层流的 Reader 对象
sz指定缓冲区大小的 int

方法详情

setLineNumber

public void setLineNumber(int lineNumber)

设置当前行号。

参数:

参数名称参数描述
lineNumber指定行号的 int

getLineNumber

public int getLineNumber()

获取当前行号。

返回:

当前行号

read

public int read() throws IOException

读取单个字符。 行终止符被压缩为单个换行符 ('\n') 字符。 每当读取行终止符时,当前行号都会增加。

覆盖:

在类 BufferedReader 中读取

返回:

读取的字符,如果已到达流的末尾,则为 -1

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

read

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

将字符读入数组的一部分。 每当读取行终止符时,当前行号都会增加。

覆盖:

在类 BufferedReader 中读取

参数:

参数名称参数描述
cbuf目标缓冲区
off开始存储字符的偏移量
len要读取的最大字符数

返回:

读取的字节数,如果已经到达流的末尾,则为 -1

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

readLine

public String readLine() throws IOException

阅读一行文字。 每当读取行终止符时,当前行号都会增加。

覆盖:

BufferedReader 类中的 readLine

返回:

包含行内容的字符串,不包括任何行终止字符,如果已到达流的末尾,则为 null

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

skip

public long skip(long n) throws IOException

跳过字符。

覆盖:

跳过 BufferedReader 类

参数:

参数名称参数描述
n要跳过的字符数

返回:

实际跳过的字符数

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误
IllegalArgumentException如果 n 为负

mark

public void mark(int readAheadLimit) throws IOException

标记流中的当前位置。 对 reset() 的后续调用将尝试将流重新定位到该点,并且还将适当地重置行号。

覆盖:

BufferedReader 类中的标记

参数:

参数名称参数描述
readAheadLimit在保留标记的同时限制可以读取的字符数。 读取这么多字符后,尝试重置流可能会失败。

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

reset

public void reset() throws IOException

将流重置为最新标记。

覆盖:

在类 BufferedReader 中重置

Throws:

Throw名称Throw描述
IOException如果流尚未被标记,或者标记已失效