fileVisitor
Builds a FileVisitor whose implementation is defined in builderAction.
fun fileVisitor(builderAction: FileVisitorBuilder.() -> Unit): FileVisitor<Path>(source)
import java.nio.file.*
import java.nio.file.attribute.*
import kotlin.io.path.fileVisitor
fun main() {
val startPath = Paths.get(".")
val visitor = fileVisitor {
preVisitDirectory { dir, attrs ->
println("Entering directory: $dir")
FileVisitResult.CONTINUE
}
visitFile { file, attrs ->
println("Visited file: $file")
FileVisitResult.CONTINUE
}
postVisitDirectory { dir, exc ->
println("Leaving directory: $dir")
FileVisitResult.CONTINUE
}
visitFileFailed { file, exc ->
println("Failed to visit $file: ${exc.message}")
FileVisitResult.CONTINUE
}
}
Files.walkFileTree(startPath, visitor)
}