Java如何使用LineNumberReader类读取文件?
在此示例中,我们使用LineNumberReader类读取文件内容。我们在这里尝试做的是获取读取数据的行号。而不是引入另一个变量;例如一个整数;为了跟踪行号,我们可以利用LineNumberReader该类。此类提供了getLineNumber()一种方法来知道所读取的数据的当前行。
package org.nhooo.example.io;
import java.io.FileReader;
import java.io.LineNumberReader;
public class LineNumberReaderExample {
    public static void main(String[] args) throws Exception {
        //我们将读取一个名为student.csv的文件,其中包含
        //学生信息数据。
        String filename = Thread.currentThread().getContextClassLoader()
            .getResource("student.csv").getFile();
        //要创建FileReader,我们可以传递学生数据
        //文件给读者。接下来,我们将读者带入我们的
        //LineNumberReader类。
        try (FileReader fileReader = new FileReader(filename);
             LineNumberReader lineNumberReader = new LineNumberReader(fileReader)) {
            //如果我们在这里设置LineNumberReader的行号
            //我们将从定义的行开始获取行号
            //数+1
            //lineNumberReader.setLineNumber(400);
            String line;
            while ((line = lineNumberReader.readLine()) != null) {
                //我们打印出学生数据并显示哪一行
                //目前由我们的程序读取。
                System.out.printf("Line Number %s: %s%n",
                    lineNumberReader.getLineNumber(), line);
            }
        }
    }
}该/resources/student.csv文件中:
Alice, 7 Bob, 8 Carol, 5 Doe, 6 Earl, 6 Malory, 8
这是上面的代码片段的结果:
Line Number 1: Alice, 7 Line Number 2: Bob, 8 Line Number 3: Carol, 5 Line Number 4: Doe, 6 Line Number 5: Earl, 6 Line Number 6: Malory, 8
