首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绝对路径FileNotFoundException

绝对路径FileNotFoundException
EN

Stack Overflow用户
提问于 2016-09-13 15:08:43
回答 2查看 48关注 0票数 2

我有这样一个目录:

代码语言:javascript
复制
assigment
 |
 |__ src
 |   |
 |   |__ Main.scala
 |
 |
 |__ testcase
     |
     |__ Simple.in

Main.scala中,Simple.in是由Source.fromFile()读取的。

代码语言:javascript
复制
val inputFile = "Simple.in"
val lines = Source.fromFile("./testcase/" + inputFile).getLines

但是,当我在Main.scala in sbt运行时,会出现FileNoutFoundException。当我将路径更改为"../testcase/" + inputFile时,它就可以正常工作。原来的道路是从我的老师,所以我想知道哪条路实际上是正确的?哦,我用的是Linux。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-13 15:11:44

./意思:当前路径

../意思是:当前目录“上面”的目录

因此:当从"src“、"./ testcase”运行Scala类时,它会查找“src”中的目录;或者使用完整路径名称:

“赋值/src/”+ "./testcase“转化为”testcase/src/testcase“。

然而,当你使用

“赋值/src/”+ "../testcase“转化为"assignment/testcase”。

因此,带有"..“的版本找到有效路径。这就是所有的魔法!

票数 1
EN

Stack Overflow用户

发布于 2016-09-13 15:15:41

. =>电流dir

.. => one高于curren dir

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

这种方式可以帮助您访问文件,而不依赖于您正在访问代码中的资源的位置(哪个类)。

文件夹来放置文件

代码语言:javascript
复制
src/main/resources

val stream : InputStream = getClass.getResourceAsStream("/readme.txt")
val lines = scala.io.Source.fromInputStream( stream ).getLines
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39473375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档