📅  最后修改于: 2023-12-03 14:53:05.017000             🧑  作者: Mango
在Java中,我们需要经常将行(line)转换为字符串(string),以便对其进行分析、处理或输出。本文将介绍两种常用的方法来实现此转换:使用BufferedReader和使用Scanner。
BufferedReader是Java IO包中的一个类,提供了从字符输入流中读取文本的方法。我们可以使用它来逐行读取输入,并将每行转换为字符串。下面是一个示例程序:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ConvertLineToString {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
String resultString = stringBuilder.toString();
System.out.println("Result: " + resultString);
}
}
在本示例程序中,我们首先创建一个BufferedReader对象,使用它来从标准输入流中读取输入。然后我们使用一个while循环逐行读取输入流中的文本,把每行加入到StringBuilder对象中。最后,我们将StringBuilder对象转换为字符串并打印出来。
Scanner是Java中的另一个类,也可以用来从输入流中读取文本。与BufferedReader不同的是,它可以使用正则表达式来定界输入流中的文本。下面是一个使用Scanner的示例程序:
import java.util.Scanner;
public class ConvertLineToString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuilder stringBuilder = new StringBuilder();
while (scanner.hasNextLine()) {
stringBuilder.append(scanner.nextLine());
}
String resultString = stringBuilder.toString();
System.out.println("Result: " + resultString);
}
}
在本示例程序中,我们首先创建一个Scanner对象,使用它来从标准输入流中读取输入。然后我们使用一个while循环逐行读取输入流中的文本,把每行加入到StringBuilder对象中。最后,我们将StringBuilder对象转换为字符串并打印出来。
无论是使用BufferedReader还是Scanner,我们都可以很方便地将输入流中的行转换为字符串。其中,BufferedReader更适用于大文本文件的读取,而Scanner则更适用于文本的解析和处理。在实际开发中,我们可以根据具体的情况选择合适的方法来实现行到字符串的转换。