visitFileTree
@ExperimentalPathApi fun Path.visitFileTree( visitor: FileVisitor<Path>, maxDepth: Int = Int.MAX_VALUE, followLinks: Boolean = false)
Обрабатывает эту директорию и всё её содержимое с помощью указанного визитора.
Обход выполняется в порядке глубины, начиная с этой директории. Указанный визитор вызывается для каждого встреченного файла.
Параметры
visitor - FileVisitor, который получает обратные вызовы.
maxDepth - максимальная глубина обхода. По умолчанию ограничений нет.
followLinks - указывает, следует ли следовать символическим ссылкам, false по умолчанию — нет.
См. также
@ExperimentalPathApi fun Path.visitFileTree( maxDepth: Int = Int.MAX_VALUE, followLinks: Boolean = false, builderAction: FileVisitorBuilder.() -> Unit)
Обрабатывает эту директорию и всё её содержимое с помощью FileVisitor, определённого в builderAction.
Эта функция работает так же, как и Path.visitFileTree. Она введена для упрощения случаев, когда FileVisitor создаётся только для немедленного использования в обходе файловой структуры. Завершающее лямбда-выражение builderAction передаётся в fileVisitor для получения объекта FileVisitor.
Пример:
projectDirectory.visitFileTree {
onPreVisitDirectory { directory, _ ->
if (directory.name == "build") {
directory.toFile().deleteRecursively()
FileVisitResult.SKIP_SUBTREE
} else {
FileVisitResult.CONTINUE
}
}
onVisitFile { file, _ ->
if (file.extension == "class") {
file.deleteExisting()
}
FileVisitResult.CONTINUE
}
}
Параметры
maxDepth - максимальная глубина обхода. По умолчанию ограничений нет.
followLinks - указывает, следует ли следовать символическим ссылкам, false по умолчанию — нет.
builderAction - функция, определяющая FileVisitor.
См. также
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io.path/java.nio.file.-path/visit-file-tree.html