PathWalkOption
An enumeration to provide walk options for the Path.walk function. The options can be combined to form the desired walk order and behavior.
Example:
val startDirectory = createTempDirectory()
run {
(startDirectory / "1" / "2" / "3" / "4").createDirectories()
(startDirectory / "1" / "2" / "3" / "a.txt").createFile()
(startDirectory / "1" / "2" / "b.txt").createFile()
(startDirectory / "c.txt").createFile()
}
// Default walk options. Prints:
// 1/2/b.txt
// 1/2/3/a.txt
// c.txt
startDirectory.walk().forEach { path ->
println(path.relativeTo(startDirectory))
}
// Custom walk options. Prints:
// 1
// c.txt
// 1/2
// 1/2/b.txt
// 1/2/3
// 1/2/3/a.txt
// 1/2/3/4
startDirectory.walk(PathWalkOption.INCLUDE_DIRECTORIES, PathWalkOption.BREADTH_FIRST).forEach { path ->
println(path.relativeTo(startDirectory))
}Content copied to clipboard
Note that this enumeration is not exhaustive, and new cases might be added in the future.