resourcesフォルダ内にregressionというフォルダが有りその中のファイル一覧を取得したい場合以下のようにします(jarファイル化した場合でも使えます)。
val uri = getClass.getResource("/regression/").toURI
var myPath: Path = null
if (uri.getScheme == "jar") {
val fileSystem = FileSystems.newFileSystem(uri, Collections.emptyMap[String, Object]())
myPath = fileSystem.getPath("/regression/");
} else {
myPath = Paths.get(uri);
}
val walk = Files.walk(myPath, 1)
val it = walk.sorted().iterator()
it.next()//最初の一つ目はregressionフォルダ自体なので飛ばす
while (it.hasNext) {
val path = it.next()
println(path.toAbsolutePath.toString)
}
2015/12/07追記
FileSystems.newFileSystem
関数は全く別の場所でも2回実行されるとjava.nio.file.FileSystemAlreadyExistsException
というエラーが起きてしまうので、一つテキトーなパスでfileSystem
変数を作ったらそれを使いまわさなければいけないようです。
参考リンク
java - How do I list the files inside a JAR file? - Stack Overflow