当前位置: 首页 > 面试题库 >

逐行读取字符串

太叔景曜
2023-03-14
问题内容

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

我知道你可以做:

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

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

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

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


问题答案:

您也可以使用splitString方法:

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

这使您可以方便地将所有行排列在一起。

我不知道拆分的性能。它使用正则表达式



 类似资料:
  • 我正在努力阅读附加的TXT文件,以csv形式显示从文件中读取的每个字段,我做了一个接近我想要的代码,但我没有前进。 TXT文件格式: 我的代码在我想要的位置读取第一行,但下面的行我不能,更不用说重复文件中包含的下一个工资单的读数了。 目前的输出是这样的: 出口应该是怎样的 逐行读取和捕获数据,我必须完成一个工资单,它将在输出中形成一行,第二个工资单将在输出中形成第二行,因此,直到txt文件结束,此

  • 问题内容: 如何在不使用?的情况下逐行读取文本文件的内容? 例如,我有一个文本文件,里面看起来像这样: 我想创建两个,然后使用类似这样的东西 这样,它分配的价值,以及价值。 问题答案: 您应该使用。 然后,您可以从下一个索引中访问列表的一个特定元素: 这将给您第一行(即:Purlplemonkeys)

  • 我正试图找到一个很好的方法,在并行地逐行读取时比较两个字符串。我之所以不使用equals方法,是因为字符串不完全相同,为了更准确,我举一个例子。 正如u所看到的,当我们逐行查看时,两个字符串都有相同的值(尽管并不完全相等,因为s2中也有\r)。现在,我知道我可以使用一些remove方法来清理“\r”,但由于字符串可能非常大,我更喜欢逐行循环,一旦字符串不相等,就会破坏我的逻辑。换句话说,我更喜欢只

  • 问题内容: 我有一个.gz格式的文件。读取此文件的Java类是GZIPInputStream。但是,此类不会扩展Java的BufferedReader类。结果,我无法逐行读取文件。我需要这样的东西 尽管我创建了扩展java的Reader或BufferedReader类并使用GZIPInputStream作为其变量之一的类。 但是,这在我使用时不起作用 有人可以建议如何进行.. 问题答案: 装饰器的

  • 稳定性: 2 - 稳定的 require('readline') 模块提供了一个接口,用于从可读流(如 process.stdin)读取数据,每次读取一行。 它可以通过以下方式使用: const readline = require('readline'); 例子,readline 模块的基本用法: const readline = require('readline'); const rl

  • 所以我将一个字符串传递到main函数:int main(int argc,char*argv[]) 我理解argc(在这种情况下是2),但是不明白我如何逐个字符地阅读argv[]?当我打印argv[0]不应该打印该字符串的字符数组中的第一个字符吗? 谢啦