使用Scala 2.10.2 ------------
我是一名Java工程师,从昨天开始学习Scala,但我现在卡住了,这个简单的代码对我不起作用,但是当我用java编写它时,它运行正常:
package lesson4
import scala.io.Source
import scala.reflect.io.File
object Test {
def main(args: Array[String]): Unit = {
var filePath = Source.getClass().getResource("/lesson4/test.txt")
var file = Source.fromFile(filePath.getFile())
var lines = file.getLines
lines.foreach(println)
}
}
该文件位于正确的路径中: 但代码不起作用:
Exception in thread "main" java.io.FileNotFoundException: /Users/wenjiezhang/Desktop/source_files/git_hub%20workspace/Learning%20Scala/ScalaLearning/bin/lesson4/test.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at scala.io.Source$.fromFile(Source.scala:90)
at scala.io.Source$.fromFile(Source.scala:75)
at scala.io.Source$.fromFile(Source.scala:53)
at lesson4.Test$.main(Test.scala:20)
at lesson4.Test.main(Test.scala)
答案 0 :(得分:6)
从错误日志中可以看出,您提供的路径正在转换为URL(例如SPACE
变为%20
)。您应该使用fromURL
方法Source.fromURL(Source.getClass().getResource("/lesson4/test.txt"))
答案 1 :(得分:2)
您的路径中的空格已转换为从网址进行编码。