Java BufferedReader 读取行号

在Java编程中,我们经常需要从文件中读取数据。而有时我们也需要知道正在读取的是第几行数据,这时就需要用到Java中的BufferedReader类来实现读取行号的功能。

什么是BufferedReader?

BufferedReader是Java中用来读取文本文件的一个类。它继承自Reader类,提供了缓冲区的功能,可以高效地读取大文件。使用BufferedReader可以一次读取一行文本,方便我们逐行处理文件内容。

如何使用BufferedReader读取行号?

在Java中,我们可以通过BufferedReader的readLine()方法来逐行读取文件内容,并通过记录读取行数的方法来实现读取行号的功能。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileWithLineNumber {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
            String line;
            int lineNumber = 1;  // 初始行号为1
            while ((line = reader.readLine()) != null) {
                System.out.println("Line " + lineNumber + ": " + line);
                lineNumber++;
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先创建了一个BufferedReader对象来读取名为"file.txt"的文件。然后使用一个while循环来逐行读取文件内容,并在控制台输出每一行的内容和行号。

代码示例解析

  • 首先我们在try-catch块中创建了一个BufferedReader对象reader,并通过FileReader来读取文件"file.txt"。
  • 我们定义了一个int型变量lineNumber来记录当前行数,初始值为1。
  • 在while循环中,我们通过调用readLine()方法来逐行读取文件内容,直到文件末尾。
  • 每读取一行内容,我们输出当前行号和内容,然后行号自增1。
  • 最后关闭BufferedReader。

示例应用

假设我们有一个名为"file.txt"的文本文件,内容如下:

Hello
World
Java
Is
Awesome

通过运行上面的Java程序,我们可以得到如下输出:

Line 1: Hello
Line 2: World
Line 3: Java
Line 4: Is
Line 5: Awesome

通过这个示例,我们可以看到每一行的内容和行号都被正确地输出了。

总结

在Java中,通过使用BufferedReader类,我们可以方便地读取文本文件并实现读取行号的功能。通过在读取每一行数据时记录行号,我们可以更好地处理文件内容。希望本文对您理解Java中的BufferedReader类有所帮助。