LineNumberInputStream源代码学习笔记

属性

int pushBack = -1;//好像是上一次读取过的字节
int lineNumber;
int markLineNumber;
int markPushBack = -1;

方法

功能 备注
available()  返回剩余可读字节数  但不知道为要除以2,好像是因为输入源的末尾有可能是\n或\r\n.
 getLineNumber()  返回属性  
mark(int)  设置mark属性  
 read()  读取一个字节 -1代表无可读字节.
 read(byte[], int, int)    
 reset() 重置读取的位置   使用mark属性赋值
setLineNumber(int)  设置属性  
 skip(long)  跳过指定字节数

默认每次最多读取2048个字节读取.

入参为0返回0.

继承FilterInputStream.

重点:设置了行数计数器和重置标志位.当读取字节等于’\n’或’\r\n’时,行数计数器加一.


代码来源:jdk8.

 

Author: bkdwei