我有一个这样的目录:
assigment
|
|__ src
| |
| |__ Main.scala
|
|
|__ testcase
|
|__ Simple.in
在 Main.scala 中,简单。由Source.fromFile()
读取:
val inputFile = "Simple.in"
val lines = Source.fromFile("./testcase/" + inputFile).getLines
但是当我在sbt
中运行 Main.scala 时,会出现FileNoutFoundException
。当我将路径更改为"../testcase/" + inputFile
时,它可以正常工作。原来的路径来自我的老师,所以我想知道哪条路径实际上是正确的?哦,我正在使用Linux btw ...
答案 0 :(得分:1)
./表示:当前路径
../表示:当前目录“上方”的目录
因此:当你从“src”运行你的Scala类时,“。/ testcase”会让它在“src”中寻找一个目录测试用例;或使用完整路径名称:
“assignment / src /”+“./ testcase”变成“assignment / src / testcase”
然而,当你使用
时“assignment / src /”+“../ testcase”变成“赋值/测试用例”
因此,带有“..”的版本会找到有效路径。这就是魔法!
答案 1 :(得分:1)
<a href="WhatsApp://send?text=This is the content the receiver gets via WhatsApp">Share via WhatsApp</a>
=&gt;目前的目录
.
=&gt;一个高于当前的dir
但访问资源的标准方法是使用sbt项目结构的..
文件夹。
这种方式可以帮助您访问文件,而不管您在代码中访问资源的位置(哪个类)。
放置文件的文件夹
resources