gpt4 book ai didi

用于匹配目录和文件的 Java Globbing 模式

转载 作者:行者123 更新时间:2023-12-04 00:33:19 26 4
gpt4 key购买 nike

我正在使用递归函数遍历根目录下的文件。我只想提取 *.txt 文件,但我不想排除目录。现在我的代码如下所示:

val stream = Files.newDirectoryStream(head, "*.txt")

但是这样做,它不会匹配任何目录,并且返回的 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)

关于用于匹配目录和文件的 Java Globbing 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25249424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com