Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按换行Scala拆分文件文本_Scala_File Io_Numbers_Newline - Fatal编程技术网

按换行Scala拆分文件文本

按换行Scala拆分文件文本,scala,file-io,numbers,newline,Scala,File Io,Numbers,Newline,我想从一个以这种方式存储的文件中读取100个数字: 每个数字在不同的行上。我不确定这里应该使用哪种数据结构,因为稍后我需要将所有这些数字相加,并提取总和的前10位数字。 我只想简单地读取文件,但我想用换行符分割所有文本,并将每个数字作为列表或数组元素: val source = Source.fromFile("pathtothefile") val lines = source.getLines.mkString 如果您能就此处使用的数据结构提供任何建议,我将不胜感激! 方法的最新情况: v

我想从一个以这种方式存储的文件中读取100个数字:

每个数字在不同的行上。我不确定这里应该使用哪种数据结构,因为稍后我需要将所有这些数字相加,并提取总和的前10位数字。 我只想简单地读取文件,但我想用换行符分割所有文本,并将每个数字作为列表或数组元素:

val source = Source.fromFile("pathtothefile")
val lines = source.getLines.mkString
如果您能就此处使用的数据结构提供任何建议,我将不胜感激! 方法的最新情况:

val lines = Source.fromFile("path").getLines.toList

你几乎已经有了它,只要映射到BigInt,然后你就有了一个BigInt列表

val lines = Source.fromFile("path").getLines.map(BigInt(_)).toList

然后您可以使用.sum将它们全部相加,等等

source.getLines怎么样。您创建了一个巨大的字符串,而getLines已经在每一行上为您提供了一个迭代器。然后,您可以根据您的用例使用toStream、toSeq或toSet对其进行转换。但是要注意,所有这些数字仍然会被解释为字符串,因此首先需要将它们转换为适当的类型,例如BigInt。对于数据结构本身,这取决于该文件的大小以及是否有多个文件等。@Lichtbringer I更新了这个问题。谢谢你的建议。嗨,卡西,这回答了你的问题吗?