我正在使用递归函数遍历根目录下的文件.我只想提取*.txt
文件,但我不想排除目录.现在我的代码看起来像这样:
val stream = Files.newDirectoryStream(head, "*.txt")
Run Code Online (Sandbox Code Playgroud)
但是通过这样做,它将不匹配任何目录,并且iterator()
返回的是False
.我正在使用Mac,因此我不想包含的噪音文件是.DS_STORE
.我怎样才能newDirectoryStream
获取目录和文件*.txt
?有办法吗?
你真的应该使用FileVisistor
它,它使代码简单如下:
import java.nio.file.attribute.BasicFileAttributes
import java.nio.file._
import scala.collection.mutable.ArrayBuffer
val files = ArrayBuffer.empty[Path]
val root = Paths.get("/path/to/your/directory")
Files.walkFileTree(root, new SimpleFileVisitor[Path] {
override def visitFile(file: Path, attrs: BasicFileAttributes) = {
if (file.getFileName.toString.endsWith(".txt")) {
files += file
}
FileVisitResult.CONTINUE
}
})
files.foreach(println)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1922 次 |
最近记录: |