Scala:逐行读取文件列表

时间:2012-11-17 00:04:23

标签: arrays scala functional-programming

我正在逐行读取文件并放入列表中。 所以,如果我的文件有10行,我有10个列表。现在,在执行此操作或执行此操作后,我想将所有列表添加到Array中。所以,我有一个列表数组,没有使用“var”,所以基本上只是'val'。 这是我到目前为止所做的:

    val fileLines = Source.fromFile(filename).getLines.toList

    for (line <- fileLines) {
    if (!line.isEmpty) 
     println((line.toList).filter(e => e != ' '))
    }

我只是将每一行转换为一个列表并删除空白元素。 如何从中生成列表数组?数组是val类型而不是尝试var。

1 个答案:

答案 0 :(得分:6)

您可以尝试这样的事情:

val myArray = fileLines.filterNot(_.isEmpty).map { line =>
    (line.toList).filter(e => e != ' ')
}.toArray

这将为您提供一系列列表元素。如果您需要列表列表,可以在最后删除.toArray