在scala命令行中读取文本文件

时间:2017-10-11 16:10:53

标签: scala user-defined-functions scala-collections

我正在尝试通过scala命令行读取文本文件。 代码编译正确,但由于找不到文件错误而导致执行失败。

import scala.io.Source

object Mainclass extends App {
    val filename = "filo.txt"
    for(line <- Source.fromFile(filename).getLines) {
      println(line)
    }
}

这是错误:

scala Main.scala:
java.io.FileNotFoundException: filo.txt (The system cannot find the file specified)

1 个答案:

答案 0 :(得分:2)

由于filo.txt是相对文件路径,因此您需要确保正在运行的程序使用filo.txt的位置作为工作目录。

示例:

echo 'my test data' > ~/mydir/filo.txt
cd ~/mydir
scala Main.scala

所以当你运行这个程序时,它需要在mydir中启动。您可以通过使用完全限定的路径来避免这种情况。