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 错误。 |