Path 具有绝对路径的FileNotFoundException

Path 具有绝对路径的FileNotFoundException,path,Path,我有这样一个目录: assigment | |__ src | | | |__ Main.scala | | |__ testcase | |__ Simple.in 在Main.scala中,由Source.fromFile()读取Simple.In: 但是当我在sbt中运行Main.scala时,会出现FileNoutFoundException。当我将路径更改为”./testcase/“+inputFile时,它工作正常。原来的路径是从我的老师那

我有这样一个目录:

assigment
 |
 |__ src
 |   |
 |   |__ Main.scala
 |
 |
 |__ testcase
     |
     |__ Simple.in
Main.scala中,由
Source.fromFile()读取Simple.In


但是当我在
sbt
中运行Main.scala时,会出现
FileNoutFoundException
。当我将路径更改为
”./testcase/“+inputFile
时,它工作正常。原来的路径是从我的老师那里来的,所以我想知道哪条路径是正确的?哦,顺便说一句,我正在使用Linux

/表示当前路径

../means:当前目录上方的目录

因此:当您从“src”运行Scala类时,“/testcase”使它在“src”中查找目录testcase;或使用完整路径名:

“assignment/src/“+”/testcase”变为“assignment/src/testcase”

然而,当你使用

“assignment/src/“+”./testcase”变为“assignment/testcase”


因此,带有“.”的版本会找到有效路径。这就是这里所有的魔力

=>当前目录

=>比当前目录高一个

但是访问资源的标准方法是使用sbt项目结构的
resources
文件夹

这种方式可以帮助您独立于访问代码中资源的位置(哪个类)来访问文件

文件夹以放置您的文件

src/main/resources

val stream : InputStream = getClass.getResourceAsStream("/readme.txt")
val lines = scala.io.Source.fromInputStream( stream ).getLines
src/main/resources

val stream : InputStream = getClass.getResourceAsStream("/readme.txt")
val lines = scala.io.Source.fromInputStream( stream ).getLines