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