如何在Scala中的目录中获取文件列表(或所有* .txt文件)。 Source类似乎没有帮助。
答案 0 :(得分:49)
new java.io.File(dirName).listFiles.filter(_.getName.endsWith(".txt"))
答案 1 :(得分:15)
Java File类实际上是您所需要的,尽管可以更轻松地为目录上的迭代添加一些Scala优点。
import scala.collection.JavaConversions._
for(file <- myDirectory.listFiles if file.getName endsWith ".txt"){
// process the file
}
答案 2 :(得分:15)
使用新DirectoryStream类的JDK7版本是:
import java.nio.file.{Files, Path}
Files.newDirectoryStream(path)
.filter(_.getFileName.toString.endsWith(".txt"))
.map(_.toAbsolutePath)
这不是一个字符串,而是返回一个Path,它上面有大量方便的方法,比如&#39; relativize&#39;和&#39;子路径&#39;。
请注意,您还需要导入import scala.collection.JavaConversions._
以启用与Java集合的互操作。
答案 3 :(得分:2)
目前,您应该使用Java库来执行此操作。