阅读(55) (0)

鸿蒙OS LineNumberReader

2022-10-17 09:43:38 更新

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) 创建一个新的行号阅读器,将字符读入给定大小的缓冲区。

方法总结

修饰符和类型 方法 描述
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, 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 如果流尚未被标记,或者标记已失效