版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_24644517/article/details/83892694
* LineNumberReader是BufferedReader的子类, 具有相同的功能, 并且可以统计行号
* 调用getLineNumber()方法可以获取当前行号
* 调用setLineNumber()方法可以设置当前行号
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
public class Demo5_LineNumberReader {
public static void main(String[] args) throws IOException {
LineNumberReader lnr=new LineNumberReader(new FileReader("ooo.txt"));
String line;
while((line=lnr.readLine())!=null) {
System.out.println(lnr.getLineNumber()+":"+line);
}
}
}
因为LineNumberReader类中定义的一个变量lineNumber,而readLine每调用一次,lineNumber++一次,所以获取行数的时候,会自增。
源码:
LineNumberReader类中源码设置行数的方法:
LineNumberReader类中源码获取行数的方法: