阅读(2213) (0)

鸿蒙OS LineNumberInputStream

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

LineNumberInputStream

java.lang.Object

|---java.io.InputStream

|---|---java.io.FilterInputStream

|---|---|---java.io.LineNumberInputStream

@Deprecated
public class LineNumberInputStream
extends FilterInputStream

已弃用。 此类错误地假定字节足以表示字符。 从 JDK 1.1 开始,对字符流进行操作的首选方式是通过新的字符流类,其中包括一个用于计算行号的类。

Since:

JDK1.0

字段摘要

从类 java.io.FilterInputStream 继承的字段
in

构造函数摘要

构造函数 描述
LineNumberInputStream(InputStream in) 已弃用。 构造一个换行符输入流,该流从指定的输入流中读取其输入。

方法总结

修饰符和类型 方法 描述
int available() 已弃用。 返回可以不阻塞地从此输入流中读取的字节数。
int getLineNumber() 已弃用。 返回当前行号。
void mark(int readlimit) 已弃用。 标记此输入流中的当前位置。
int read() 已弃用。 从此输入流中读取数据的下一个字节。
int read(byte[] b, int off, int len) 已弃用。 从此输入流中读取最多 len 个字节的数据到一个字节数组中。
void reset() 已弃用。 将此流重新定位到最后一次在此输入流上调用标记方法时的位置。
void setLineNumber(int lineNumber) 已弃用。 将行号设置为指定的参数。
long skip(long n) 已弃用。 跳过并丢弃此输入流中的 n 字节数据。
从类 java.io.FilterInputStream 继承的方法
close, markSupported, read
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

LineNumberInputStream

public LineNumberInputStream(InputStream in)

已弃用。

构造一个换行符输入流,该流从指定的输入流中读取其输入。

参数:

参数名称 参数描述
in 底层输入流。

方法详情

read

public int read() throws IOException

已弃用。

从此输入流中读取数据的下一个字节。 值字节作为 int 返回,范围为 0 到 255。如果由于到达流的末尾而没有可用的字节,则返回值 -1。 此方法会一直阻塞,直到输入数据可用、检测到流结束或引发异常。

LineNumberInputStream 的 read 方法调用底层输入流的 read 方法。 它检查输入中的回车符和换行符,并根据需要修改当前行号。 回车符或后跟换行符的回车符都转换为单个换行符。

覆盖:

读入类 FilterInputStream

返回:

数据的下一个字节,如果到达此流的末尾,则为 -1。

Throws:

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

read

public int read(byte[] b, int off, int len) throws IOException

已弃用。

从此输入流中读取最多 len 个字节的数据到一个字节数组中。 此方法会阻塞,直到某些输入可用。

LineNumberInputStream 的 read 方法反复调用零参数的 read 方法填充字节数组。

覆盖:

read in class FilterInputStream

参数:

参数名称 参数描述
b 读取数据的缓冲区。
off 数据的起始偏移量。
len 读取的最大字节数。

返回:

读入缓冲区的总字节数,如果由于已到达此流的末尾而没有更多数据,则为 -1。

Throws:

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

skip

public long skip(long n) throws IOException

已弃用。

跳过并丢弃此输入流中的 n 字节数据。 由于各种原因,skip 方法最终可能会跳过一些较小的字节数,可能为 0。返回实际跳过的字节数。 如果 n 为负数,则不跳过任何字节。

LineNumberInputStream 的 skip 方法创建一个字节数组,然后重复读取它,直到读取 n 个字节或到达流的末尾。

覆盖:

skip in class FilterInputStream

参数:

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

返回:

跳过的实际字节数。

Throws:

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

setLineNumber

public void setLineNumber(int lineNumber)

已弃用。

将行号设置为指定的参数。

参数:

参数名称 参数描述
lineNumber 新的行号。

getLineNumber

public int getLineNumber()

已弃用。

返回当前行号。

返回:

当前行号。

available

public int available() throws IOException

已弃用。

返回可以不阻塞地从此输入流中读取的字节数。

请注意,如果底层输入流能够提供 k 个输入字符而不阻塞,则 LineNumberInputStream 可以保证只提供 k/2 个字符而不阻塞,因为来自底层输入流的 k 个字符可能由 k/2 对 '\ r' 和 '\n',它们仅转换为 k/2 '\n' 字符。

覆盖:

在类 FilterInputStream 中可用

返回:

可以不阻塞地从此输入流中读取的字节数。

Throws:

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

mark

public void mark(int readlimit)

已弃用。

标记此输入流中的当前位置。 对 reset 方法的后续调用将此流重新定位到最后标记的位置,以便后续读取重新读取相同的字节。

LineNumberInputStream 的mark 方法将当前行号记住在一个私有变量中,然后调用底层输入流的mark 方法。

覆盖:

在类 FilterInputStream 中标记

参数:

参数名称 参数描述
readlimit 在标记位置无效之前可以读取的最大字节数。

reset

public void reset() throws IOException

已弃用。

将此流重新定位到最后一次在此输入流上调用标记方法时的位置。

LineNumberInputStream 的 reset 方法将行号重置为调用 mark 方法时的行号,然后调用底层输入流的 reset 方法。

流标记旨在用于需要提前阅读以查看流中内容的情况。 通常这最容易通过调用一些通用解析器来完成。 如果流是解析器处理的类型,它就会愉快地运行。 如果流不是该类型,解析器应该在失败时抛出异常,如果它发生在 readlimit 字节内,则允许外部代码重置流并尝试另一个解析器。

覆盖:

在类 FilterInputStream 中重置

Throws:

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