我有一个用scala编写的简单mvn项目.我想访问一个文本文件并阅读其内容.代码工作正常但唯一的问题是我在读取文本文件时给出绝对路径.以下是我的项目的目录结构.
如何使用相对路径来读取该文件?(我是否必须将movies.txt文件移动到资源目录中,如果是这样,我将如何读取该文件?)
任何见解都将非常感激.谢谢
myproject
|-src
| |-resources
| |-scala
| |-movies.simulator
| |-Boot
| |-Simulate
| |-myobject.scala
| |Simulate
|
|-target
|-pom.xml
|-README
|-movies.txt
Run Code Online (Sandbox Code Playgroud)
在模拟是包对象的myobject.scala中,我使用绝对路径访问movies.txt文件.
import scala.io.Source
Source
.fromFile("/home/eshan/projecs/myproject/movies.txt")
.getLines
.foreach { line =>
count+=1
// custom code
}
Run Code Online (Sandbox Code Playgroud)
移动你movies.txt的resources目录,然后你可以做到以下几点:
val f = new File(getClass.getClassLoader.getResource("movies.txt").getPath)
import scala.io.Source
Source
.fromFile(f)
.getLines
.foreach { line =>
count+=1
// custom code
}
Run Code Online (Sandbox Code Playgroud)
更简洁地,您可以使用:
Source.fromResource("movies.txt")
Run Code Online (Sandbox Code Playgroud)
它将查找相对于资源文件夹的路径。
| 归档时间: |
|
| 查看次数: |
8471 次 |
| 最近记录: |