Scala 什么是「;资源“;SBT项目中的文件夹用于?
在SBT项目文件夹层次结构中,我将把Scala源代码放在src/main/Scala中,把测试放在src/tests/Scala中。我打算在src/main/resources和src/tests/resources中放入什么?该目录中的所有内容都打包到调用Scala 什么是「;资源“;SBT项目中的文件夹用于?,scala,sbt,Scala,Sbt,在SBT项目文件夹层次结构中,我将把Scala源代码放在src/main/Scala中,把测试放在src/tests/Scala中。我打算在src/main/resources和src/tests/resources中放入什么?该目录中的所有内容都打包到调用包时创建的.jar中 这意味着您可以将其用于图像、声音文件、文本以及任何非代码但代码使用的内容。以下是将资源中存储的文本文件复制到本地文件系统的示例: def copyFileFromResource(source: String, de
包时创建的.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
}
谢谢你,迪伦。你能链接到一个Scala(2.8)代码的例子吗?这个重复的问题有一个简明的例子:我在这里把什么作为“源”参数?src/main/resources中文件的简短名称?我想打印一个简短的内置帮助文件,以防调用我的程序时没有参数。所以,我复制了您的函数体,删除了dest/out以使用println打印到stdout,并使用“help.txt”作为源代码。这在java.io.Reader中给了我一个NullPointerException..看,我认为可以使用Reader=io.Source.fromInputStream(in.getLines(),out=new PrintWriter(dest))
来缩短它,然后您所需要的就是Reader foreach out.println
可能的重复