Java 连续读取多行字符串

在Java编程中,我们经常需要从用户或文件中读取多行字符串。本文将介绍如何使用Java来连续读取多行字符串,并提供相应的代码示例。

读取多行字符串的问题

在Java中,使用Scanner类可以方便地从控制台或文件中读取用户输入或文件内容。然而,Scanner类默认情况下只能读取一行字符串,当我们需要读取多行字符串时,就需要使用一些特殊的技巧。

使用Scanner类连续读取多行字符串的方法

一种常见的方法是使用Scanner类的nextLine()方法来读取每一行,并在每一行之间添加一个特定的结束标记来表示输入的结束。下面是一个示例代码:

import java.util.Scanner;

public class MultiLineReader {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();

        System.out.println("请输入多行字符串,以'end'结束:");

        String line = scanner.nextLine();
        while (!line.equalsIgnoreCase("end")) {
            sb.append(line);
            sb.append("\n");
            line = scanner.nextLine();
        }

        String input = sb.toString();
        System.out.println("输入的多行字符串为:\n" + input);
    }
}

在上述示例中,我们使用Scanner类从标准输入中读取多行字符串,直到输入的行为"end"为止。在每一行结束后,我们将该行字符串添加到StringBuilder对象中,并添加一个换行符来分隔每一行。最后,我们将StringBuilder对象转换为字符串,并将结果打印出来。

使用BufferedReader类连续读取多行字符串的方法

除了使用Scanner类外,我们还可以使用BufferedReader类来实现连续读取多行字符串的功能。下面是一个使用BufferedReader类的示例代码:

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

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

        System.out.println("请输入多行字符串,以'end'结束:");

        try {
            String line = reader.readLine();
            while (!line.equalsIgnoreCase("end")) {
                sb.append(line);
                sb.append("\n");
                line = reader.readLine();
            }

            String input = sb.toString();
            System.out.println("输入的多行字符串为:\n" + input);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述示例中,我们使用BufferedReader类从标准输入中读取多行字符串,直到输入的行为"end"为止。在每一行结束后,我们将该行字符串添加到StringBuilder对象中,并添加一个换行符来分隔每一行。最后,我们将StringBuilder对象转换为字符串,并将结果打印出来。

总结

本文介绍了使用Java来连续读取多行字符串的方法。我们通过Scanner类和BufferedReader类分别实现了这一功能,并提供了相应的代码示例。使用这些方法,您可以方便地从用户或文件中读取多行字符串,并对其进行进一步的处理。

希望本文能够对您有所帮助,谢谢阅读!