给定一个不太长的字符串,逐行读取字符串的最佳方法是什么?
我知道你可以做:
BufferedReader reader = new BufferedReader(new StringReader(<string>));
reader.readLine();
另一种方法是在eol上获取子字符串:
final String eol = System.getProperty("line.separator");
output = output.substring(output.indexOf(eol + 1));
还有其他更简单的方法吗?我对上述方法没有任何问题,只是想知道你们中是否有人知道一些看起来更简单,更有效的方法?
您也可以使用split
String方法:
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]不应该打印该字符串的字符数组中的第一个字符吗? 谢啦