【问题标题】:Read text file in scala command Line在scala命令行中读取文本文件
【发布时间】:2018-03-23 09:47:33
【问题描述】:

我正在尝试通过 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)

【问题讨论】:

  • 您的代码对我来说运行没有错误(在我创建了filo.txt 文件之后)。

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


【解决方案1】:

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

例子:

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

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

【讨论】:

  • 我尝试将相对路径替换为绝对路径,并将文件放在 Main.scala 的同一目录中。虽然没有帮助。
  • 请附上您运行程序的目录列表。
  • 这个目录:D:\Spark\cmdscala\helloworld\src\main\scala 下面是代码 import scala.util import scala.io.Source object Mainclass extends App { val filename = 'filo .txt' for(line
  • 你能为 scala 目录做一个dir 列表吗?
  • 它起作用了..我没有意识到filo.txt实际上是filo.txt.txt
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 2013-05-27
  • 2018-08-05
  • 1970-01-01
相关资源
最近更新 更多