Spec-Zone.ru › Kotlin 1.7

visitFileTree

kotlin-stdlib / kotlin.io.path / java.nio.file.Path / visitFileTree
Требования к платформе и версии: JVM (1.7), JRE7 (1.7)
@ExperimentalPathApi fun Path.visitFileTree(
    visitor: FileVisitor<Path>, 
    maxDepth: Int = Int.MAX_VALUE, 
    followLinks: Boolean = false)

Обрабатывает эту директорию и всё её содержимое с помощью указанного визитора.

Обход выполняется в порядке глубины, начиная с этой директории. Указанный визитор вызывается для каждого встреченного файла.

Параметры

visitor - FileVisitor, который получает обратные вызовы.

maxDepth - максимальная глубина обхода. По умолчанию ограничений нет.

followLinks - указывает, следует ли следовать символическим ссылкам, false по умолчанию — нет.

См. также

Files.walkFileTree

Требования к платформе и версии: JVM (1.7), JRE7 (1.7)
@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.

См. также

Path.visitFileTree

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API