逐行读取字符串

2022-08-31 07:19:26

给定一个不太长的字符串,逐行读取它的最佳方法是什么?

我知道你可以做到:

BufferedReader reader = new BufferedReader(new StringReader(<string>));
reader.readLine();

另一种方法是在 eol 上获取子字符串:

final String eol = System.getProperty("line.separator");
output = output.substring(output.indexOf(eol + 1));

还有其他可能更简单的方法吗?我对上述方法没有问题,只是想知道你们中是否有人知道一些看起来更简单,更有效的东西?


答案 1

还有扫描仪。您可以像使用以下命令一样使用它:BufferedReader

Scanner scanner = new Scanner(myString);
while (scanner.hasNextLine()) {
  String line = scanner.nextLine();
  // process the line
}
scanner.close();

我认为这是一种比建议的方法更干净的方法。


答案 2

您还可以使用字符串的方法:split

String[] lines = myString.split(System.getProperty("line.separator"));

这为您提供了一个方便的数组中的所有行。

我不知道分裂的表现。它使用正则表达式。