Java如何输入多行字符串

在Java编程中,有时候我们需要输入多行字符串,比如读取文本文件的内容、处理用户输入等等。本文将介绍几种常见的方法来实现这个目标,并提供示例代码。

方法一:使用Scanner类

Scanner类是Java中常用的输入工具类,可以方便地从控制台或文件中读取数据。使用Scanner类可以轻松地输入多行字符串。

下面是一个使用Scanner类输入多行字符串的示例代码:

import java.util.Scanner;

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

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

        StringBuilder sb = new StringBuilder();
        String line;
        while (!(line = scanner.nextLine()).isEmpty()) {
            sb.append(line).append("\n");
        }

        String input = sb.toString();
        System.out.println("您输入的多行字符串是:");
        System.out.println(input);

        scanner.close();
    }
}

上述代码使用了一个StringBuilder对象来逐行读取输入的字符串,并将其拼接成一个完整的多行字符串。当输入一个空行时,循环结束,并将StringBuilder对象中的字符串转换为最终的输入字符串。

方法二:使用BufferedReader类

BufferedReader类是Java中用于读取文本的输入流类,它提供了更高效的读取操作。我们可以使用BufferedReader类来输入多行字符串。

下面是一个使用BufferedReader类输入多行字符串的示例代码:

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

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

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

        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null && !line.isEmpty()) {
            sb.append(line).append("\n");
        }

        String input = sb.toString();
        System.out.println("您输入的多行字符串是:");
        System.out.println(input);

        reader.close();
    }
}

上述代码使用了BufferedReader类从标准输入流中逐行读取输入的字符串,并将其拼接成一个完整的多行字符串。当输入一个空行或到达文件末尾时,循环结束,并将StringBuilder对象中的字符串转换为最终的输入字符串。

方法三:使用StringBuilder类

如果我们已经有一个多行字符串,而不是从输入流中逐行输入,我们可以直接使用StringBuilder类来构建多行的输入字符串。

以下是一个使用StringBuilder类构建多行字符串的示例代码:

public class MultiLineInputExample {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("第一行\n");
        sb.append("第二行\n");
        sb.append("第三行");

        String input = sb.toString();
        System.out.println("多行字符串是:");
        System.out.println(input);
    }
}

上述代码使用了StringBuilder类逐行构建了一个多行字符串,并将其打印输出。

结论

本文介绍了三种常见的方法来输入多行字符串。使用Scanner类、BufferedReader类或StringBuilder类都可以方便地实现这个目标。具体选择哪种方法取决于具体的应用场景和需求。

希望本文能够帮助读者更好地理解和掌握Java中输入多行字符串的方法。

注意:示例代码中的代码块都是使用markdown语法标识出来的。