📜  java 读取下一行 - Java (1)

📅  最后修改于: 2023-12-03 15:01:34.631000             🧑  作者: Mango

Java读取下一行

在Java中读取下一行通常使用BufferedReader类。该类提供了一个readLine()方法,可以按行读取文本文件或标准输入。以下是一个基本的示例程序,演示如何使用BufferedReader从控制台读取并打印每一行:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadLineExample {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        try {
            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

在上面的示例中,我们首先使用InputStreamReader将标准输入转换为字符输入流,然后使用BufferedReader读取该流中的文本行。

然后我们通过一个while循环来遍历读取到的每一行,直到读取到null为止,即文件末尾。每读取一行,我们将该行打印到控制台上。

最后,我们在finally块中关闭BufferedReader以释放资源。

需要注意的是,在上面的示例中我们没有使用try-with-resources语句来自动关闭BufferedReader。如果在Java 7或更高版本中,可以使用该语句简化代码。以下是使用try-with-resources语句的示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadLineExample {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们使用了try-with-resources语句来自动关闭BufferedReader。不需要在finally块中手动关闭该类。

结论

在Java中读取下一行通常使用BufferedReader类。该类提供了一个readLine()方法,可以按行读取文本文件或标准输入。无论是使用手动关闭还是使用自动关闭,我们都应该在读取完所有行后关闭BufferedReader