- java.lang.Object
-  
      - java.io.InputStream
-  
        - java.io.FilterInputStream
-  
          - java.io.LineNumberInputStream
 
 
 
-  
       - All Implemented Interfaces:
-  
         Closeable,AutoCloseable
 
 已过时。该类错误地假定字节充分表示字符。 从JDK 1.1开始,对字符流进行操作的首选方式是通过新的字符流类,其中包括一个用于计数行号的类。
 @Deprecated public class LineNumberInputStream extends FilterInputStream 这个类是一个输入流过滤器,它提供跟踪当前行号的附加功能。行是以回车符( '\r'),换行字符('\n')结尾的字节序列,或紧跟着换行字符的回车符。 在所有三种情况下,行终止字符都作为单个换行符返回。行数从 0开始,当一个read返回一个换行符时,它增加了1。- 从以下版本开始:
- 1.0
- 另请参见:
-  
         LineNumberReader
 
-  
        
       -  
             Field Summary-  
               Fields inherited from class java.io.FilterInputStreamin
 
-  
               
 -  
             构造方法摘要构造方法 Constructor 描述 LineNumberInputStream(InputStream in)已过时。构造从指定输入流读取其输入的换行符输入流。
 -  
             方法摘要所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 intavailable()已过时。返回可以从该输入流读取而不阻塞的字节数。intgetLineNumber()已过时。返回当前行号。voidmark(int readlimit)已过时。标记此输入流中的当前位置。intread()已过时。从该输入流读取下一个数据字节。intread(byte[] b, int off, int len)已过时。从该输入流读取最多len个字节的数据到字节数组。voidreset()已过时。将此流重新定位到最后在此输入流上调用mark方法时的位置。voidsetLineNumber(int lineNumber)已过时。将行号设置为指定的参数。longskip(long n)已过时。跳过并丢弃来自该输入流的n字节的数据。-  
               Methods inherited from class java.io.FilterInputStreamclose, markSupported, read
 -  
               Methods inherited from class java.io.InputStreamreadAllBytes, readNBytes, transferTo
 
-  
               
 
-  
             
-  
        
       -  
             构造方法详细信息-  LineNumberInputStreampublic LineNumberInputStream(InputStream in) 已过时。构造从指定输入流读取其输入的换行符输入流。- 参数
-  
              in- 底层输入流。
 
 
-  
 -  
             方法详细信息-  readpublic int read() throws IOException已过时。从该输入流读取下一个数据字节。 值字节作为int返回到0到255。 如果没有字节可用,因为已经到达流的末尾,则返回值-1。 该方法阻塞直到输入数据可用,检测到流的结尾,或抛出异常。该 read的方法LineNumberInputStream调用read基础输入流的方法。 它检查输入中的回车符和换行符,并根据需要修改当前行号。 回车字符或回车符后跟换行符都将转换为单个换行符。- 重写:
-  
              read在FilterInputStream
- 结果
- 
               数据的下一个字节,如果达到此流的末尾, 
              -1。
- 异常
-  
              IOException- 如果发生I / O错误。
- 另请参见:
-  
              FilterInputStream.in,getLineNumber()
 
 -  readpublic int read(byte[] b, int off, int len) throws IOException已过时。从该输入流读取最多len个字节的数据到一个字节数组。 此方法将阻塞,直到某些输入可用。该 read的方法LineNumberInputStream反复调用read的零个参数方法来填充字节数组英寸- 重写:
-  
              read在FilterInputStream
- 参数
-  
              b- 读取数据的缓冲区。
-  
              off- 数据的起始偏移量。
-  
              len- 读取的最大字节数。
- 结果
- 
               读取到缓冲区的总字节数,如果没有更多的数据,因为已经达到这个流的结尾,那么 
              -1。
- 异常
-  
              IOException- 如果发生I / O错误。
- 另请参见:
-  
              read()
 
 -  skippublic long skip(long n) throws IOException已过时。跳过并丢弃来自此输入流的n字节的数据。 由于各种原因,skip方法可能会跳过一些较小数量的字节,可能是0。 返回实际跳过的字节数。 如果n为负,则不跳过任何字节。该 skip的方法LineNumberInputStream创建一个字节数组,然后重复读入,直到n字节已被读出或流的结尾已经到达。- 重写:
-  
              skip在类FilterInputStream
- 参数
-  
              n- 要跳过的字节数。
- 结果
- 实际跳过的字节数。
- 异常
-  
              IOException- 如果发生I / O错误。
- 另请参见:
-  
              FilterInputStream.in
 
 -  setLineNumberpublic void setLineNumber(int lineNumber) 已过时。将行号设置为指定的参数。- 参数
-  
              lineNumber- 新的行号。
- 另请参见:
-  
              getLineNumber()
 
 -  getLineNumberpublic int getLineNumber() 已过时。返回当前行号。- 结果
- 当前行号。
- 另请参见:
-  
              setLineNumber(int)
 
 -  availablepublic int available() throws IOException已过时。返回可以从该输入流读取而不阻塞的字节数。请注意,如果底层输入流能够不阻塞地提供k个输入字符,那么 LineNumberInputStream可以保证仅提供k / 2个字符而不会阻塞,因为来自底层输入流的k个字符可能包含k / 2对'\r'和'\n',它们转换为只有k / 2的'\n'字符。- 重写:
-  
              available在FilterInputStream
- 结果
- 可以从此输入流中读取而不阻塞的字节数。
- 异常
-  
              IOException- 如果发生I / O错误。
- 另请参见:
-  
              FilterInputStream.in
 
 -  markpublic void mark(int readlimit) 已过时。标记此输入流中的当前位置。 对reset方法的后续调用会将该流重新定位在最后一个标记的位置,以便后续读取重新读取相同的字节。该 mark的方法LineNumberInputStream记得在一个私有变量的当前行号,然后调用mark基础输入流的方法。- 重写:
-  
              mark在FilterInputStream
- 参数
-  
              readlimit- 标记位置无效之前可以读取的最大字节数。
- 另请参见:
-  
              FilterInputStream.in,reset()
 
 -  resetpublic void reset() throws IOException已过时。将此流重新定位到最后在此输入流上调用mark方法时的位置。该 reset的方法LineNumberInputStream复位的行号是在该时间的行号mark方法被调用,然后调用reset基础输入流的方法。流标记旨在用于您需要先阅读一下以查看流中的内容的情况。 通常这通过调用一些一般的解析器来最容易地完成。 如果流是由解析器处理的类型,那么它就可以快乐地拥抱。 如果流不是那种类型,解析器应该在失败时抛出一个异常,如果它在readlimit字节中发生,则允许外部代码重置流并尝试另一个解析器。 - 重写:
-  
              reset在FilterInputStream
- 异常
-  
              IOException- 如果发生I / O错误。
- 另请参见:
-  
              FilterInputStream.in,mark(int)
 
 
-  
 
-