- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.io.LineNumberInputStream
-
- 实现的所有接口
-
Closeable
,AutoCloseable
@Deprecated public class LineNumberInputStream extends FilterInputStream
Deprecated.This class incorrectly assumes that bytes adequately represent characters. As of JDK 1.1, the preferred way to operate on character streams is via the new character-stream classes, which include a class for counting line numbers.此类是输入流过滤器,提供跟踪当前行号的附加功能。行是以回车符(
'\r'
)结尾的字节序列,换行符('\n'
)或回车符后面紧跟换行符。 在所有三种情况下,行终止字符都作为单个换行符返回。行号从
0
开始,当read
返回换行符时,行号增加1
。- 从以下版本开始:
- 1.0
- 另请参见:
-
LineNumberReader
-
-
字段汇总
-
声明的属性在类 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
最多len
字节的数据读入一个字节数组。void
reset()
已过时。将此流重新定位到上次在此输入流上调用mark
方法时的位置。void
setLineNumber(int lineNumber)
已过时。将行号设置为指定的参数。long
skip(long n)
已过时。跳过并从此输入流中丢弃n
字节的数据。-
声明方法的类 java.io.FilterInputStream
close, markSupported, read
-
声明方法的类 java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
构造方法详细信息
-
LineNumberInputStream
public LineNumberInputStream(InputStream in)
Deprecated.构造一个换行符号输入流,从指定的输入流中读取其输入。- 参数
-
in
- 基础输入流。
-
-
方法详细信息
-
read
public int read() throws IOException
Deprecated.从此输入流中读取下一个数据字节。 值字节作为int
返回,范围为0
至255
。 如果由于到达流末尾而没有可用字节,则返回值-1
。 此方法将阻塞,直到输入数据可用,检测到流的末尾或抛出异常。该
read
的方法LineNumberInputStream
调用read
基础输入流的方法。 它检查输入中的回车符和换行符,并根据需要修改当前行号。 回车符或回车符后跟换行符都将转换为单个换行符。- 重写:
-
read
类FilterInputStream
- 结果
-
数据的下一个字节,如果到达此流的末尾,
-1
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterInputStream.in
,getLineNumber()
-
read
public int read(byte[] b, int off, int len) throws IOException
Deprecated.从此输入流len
最多len
字节的数据读入一个字节数组。 此方法将阻塞,直到某些输入可用。read
方法LineNumberInputStream
重复调用read
方法的零参数来填充字节数组。- 重写:
-
read
类FilterInputStream
- 参数
-
b
- 读取数据的缓冲区。 -
off
- 数据的起始偏移量。 -
len
- 读取的最大字节数。 - 结果
-
读入缓冲区的总字节数,如果没有更多数据,
-1
,因为已到达此流的末尾。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
read()
-
skip
public long skip(long n) throws IOException
Deprecated.跳过并从此输入流中丢弃n
字节的数据。 由于各种原因,skip
方法可能最终跳过一些较小数量的字节,可能是0
。 返回跳过的实际字节数。 如果n
为负数,则不会跳过任何字节。该
skip
的方法LineNumberInputStream
创建一个字节数组,然后重复读入,直到n
字节已被读出或流的结尾已经到达。- 重写:
-
skip
类FilterInputStream
- 参数
-
n
- 要跳过的字节数。 - 结果
- 跳过的实际字节数。
- 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterInputStream.in
-
setLineNumber
public void setLineNumber(int lineNumber)
Deprecated.将行号设置为指定的参数。- 参数
-
lineNumber
- 新的行号。 - 另请参见:
-
getLineNumber()
-
getLineNumber
public int getLineNumber()
Deprecated.返回当前行号。- 结果
- 当前行号。
- 另请参见:
-
setLineNumber(int)
-
available
public int available() throws IOException
Deprecated.返回可以在不阻塞的情况下从此输入流中读取的字节数。请注意,如果基础输入流能够无阻塞地提供k个输入字符,则
LineNumberInputStream
可以保证仅提供k / 2个字符而不会阻塞,因为基础输入流中的k个字符可能包含k / 2对'\r'
和'\n'
,转换为k / 2'\n'
字符。- 重写:
-
available
在类FilterInputStream
- 结果
- 可以在不阻塞的情况下从此输入流中读取的字节数。
- 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterInputStream.in
-
mark
public void mark(int readlimit)
Deprecated.标记此输入流中的当前位置。 随后对reset
方法的调用会在最后标记的位置重新定位此流,以便后续读取重新读取相同的字节。该
mark
的方法LineNumberInputStream
记得在一个私有变量的当前行号,然后调用mark
基础输入流的方法。- 重写:
-
mark
在类FilterInputStream
- 参数
-
readlimit
- 标记位置变为无效之前可读取的最大字节数限制。 - 另请参见:
-
FilterInputStream.in
,reset()
-
reset
public void reset() throws IOException
Deprecated.将此流重新定位到上次在此输入流上调用mark
方法时的位置。reset
方法LineNumberInputStream
将行号重置为调用mark
方法时的行号,然后调用基础输入流的reset
方法。流标记旨在用于需要提前阅读以查看流中的内容的情况。 通常,这通过调用一些通用解析器最容易完成。 如果流是解析器处理的类型,它只是愉快地开始。 如果流不是那种类型,解析器应该在失败时抛出异常,如果它发生在readlimit字节内,它允许外部代码重置流并尝试另一个解析器。
- 重写:
-
reset
在类FilterInputStream
- 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterInputStream.in
,mark(int)
-
-