鸿蒙OS开发文档 鸿蒙OS LineNumberInputStream

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

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)已弃用。 构造一个换行符输入流,该流从指定的输入流中读取其输入。

方法总结

修饰符和类型方法描述
intavailable()已弃用。 返回可以不阻塞地从此输入流中读取的字节数。
intgetLineNumber()已弃用。 返回当前行号。
voidmark(int readlimit)已弃用。 标记此输入流中的当前位置。
intread()已弃用。 从此输入流中读取数据的下一个字节。
intread(byte[] b, int off, int len)已弃用。 从此输入流中读取最多 len 个字节的数据到一个字节数组中。
voidreset()已弃用。 将此流重新定位到最后一次在此输入流上调用标记方法时的位置。
voidsetLineNumber(int lineNumber)已弃用。 将行号设置为指定的参数。
longskip(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 错误。