添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
近视的眼镜  ·  java ...·  19 小时前    · 
失恋的滑板  ·  springmvc配置MappingJack ...·  19 小时前    · 
帅气的弓箭  ·  Jackson·  19 小时前    · 
怕老婆的卤蛋  ·  C# 基本语法 | 菜鸟教程·  14 小时前    · 
聪明的领结  ·  Java excel导入 手机号数据 ...·  5 小时前    · 
不羁的剪刀  ·  Smart精灵#1 ...·  1 年前    · 

使用Scanner类

Scanner类是Java中常用的用于读取输入的类。它提供了 nextLine() 方法用于读取一行字符串。我们可以利用这个方法来读取多行字符串。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        String line = scanner.nextLine();
        while (!line.isEmpty()) {
            sb.append(line).append("\n");
            line = scanner.nextLine();
        String result = sb.toString();
        System.out.println(result);

上述代码中,我们首先创建了一个Scanner对象,并使用nextLine()方法读取一行字符串。然后,我们使用一个循环来读取后续的行,直到遇到空行为止。在循环中,我们将每一行字符串追加到StringBuilder对象中,并在每一行的末尾添加一个换行符。最后,我们将StringBuilder对象转换为String对象,并输出结果。

使用BufferedReader类

BufferedReader类是Java中常用的用于读取文本文件的类。它提供了readLine()方法用于读取一行字符串。我们可以利用这个方法来读取多行字符串。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        String line = reader.readLine();
        while (line != null && !line.isEmpty()) {
            sb.append(line).append("\n");
            line = reader.readLine();
        String result = sb.toString();
        System.out.println(result);

上述代码中,我们首先创建了一个BufferedReader对象,并使用readLine()方法读取一行字符串。然后,我们使用一个循环来读取后续的行,直到遇到空行为止。在循环中,我们将每一行字符串追加到StringBuilder对象中,并在每一行的末尾添加一个换行符。最后,我们将StringBuilder对象转换为String对象,并输出结果。

使用StringTokenizer类

StringTokenizer类是Java中常用的用于分割字符串的类。我们可以利用它的hasMoreTokens()nextToken()方法来读取多行字符串。

import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) {
        String input = "line 1\nline 2\nline 3\n";
        StringTokenizer tokenizer = new StringTokenizer(input, "\n");
        StringBuilder sb = new StringBuilder();
        while (tokenizer.hasMoreTokens()) {
            String line = tokenizer.nextToken();
            sb.append(line).append("\n");
        String result = sb.toString();
        System.out.println(result);

上述代码中,我们首先创建了一个StringTokenizer对象,并将输入字符串和分隔符"\n"作为参数传递给它。然后,我们使用一个循环来遍历所有的分割后的字符串,并将每一行字符串追加到StringBuilder对象中,并在每一行的末尾添加一个换行符。最后,我们将StringBuilder对象转换为String对象,并输出结果。

使用正则表达式

如果多行字符串之间存在特定的分隔符,我们可以使用正则表达式来读取这些字符串。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) {
        String input = "line 1\nline 2\nline 3\n";
        Pattern pattern = Pattern.compile("line \\d");
        Matcher matcher = pattern.matcher(input);
        StringBuilder sb = new StringBuilder();
        while (matcher.find()) {
            String line = matcher.group();
            sb.append(line).append("\n");
        String result = sb.toString();
        System.out.println(result);

上述代码中,我们首先创建了一个Pattern对象,并使用正则表达式"line \d"来匹配所有以"line "开头的字符串。然后,我们使用一个循环来遍历所有匹配的字符串,并将每一行字符串追加到StringBuilder对象中,并在每一行的末尾添加一个换行符。最后,我们将StringBuilder对象转换为String对象,并输出结果。