【发布时间】:2011-04-21 14:06:59
【问题描述】:
在 SBT 项目文件夹层次结构中,我将 Scala 源代码放在 src/main/scala 中,并将测试放在 src/tests/scala 中。我打算在 src/main/resources 和 src/tests/resources 中添加什么?
【问题讨论】:
在 SBT 项目文件夹层次结构中,我将 Scala 源代码放在 src/main/scala 中,并将测试放在 src/tests/scala 中。我打算在 src/main/resources 和 src/tests/resources 中添加什么?
【问题讨论】:
该目录中的所有内容都会打包到您调用 package 时创建的 .jar 中。
这意味着您可以将它用于图像、声音文件、文本以及任何不是代码但被您的代码使用的东西。
【讨论】:
以下是将存储在资源中的文本文件复制到本地文件系统的示例:
def copyFileFromResource(source: String, dest: File) {
val in = getClass.getResourceAsStream(source)
val reader = new java.io.BufferedReader(new java.io.InputStreamReader(in))
val out = new java.io.PrintWriter(new java.io.FileWriter(dest))
var line: Option[String] = None
line = Option[String](reader.readLine)
while (line != None) {
line foreach { out.println }
line = Option[String](reader.readLine)
}
in.close
out.flush
}
【讨论】:
reader = io.Source.fromInputStream(in).getLines()、out = new PrintWriter(dest)) 来缩短,那么你只需要reader foreach out.println