FileTreeWalk
This class is intended to implement different file traversal methods. It allows to iterate through all files inside a given directory.
Use File.walk, File.walkTopDown or File.walkBottomUp extension functions to instantiate a FileTreeWalk
instance.
If the file path given is just a file, walker iterates only it. If the file path given does not exist, walker iterates nothing, i.e. it's equivalent to an empty sequence.
Functions
maxDepth
Sets the maximum depth of a directory tree to traverse. By default there is no limit.
fun maxDepth(depth: Int): FileTreeWalk
onEnter
Sets a predicate function, that is called on any entered directory before its files are visited and before it is visited itself.
fun onEnter(function: (File) -> Boolean): FileTreeWalk
onFail
Set a callback function, that is called on a directory when it's impossible to get its file list.
fun onFail(
function: (File, IOException) -> Unit
): FileTreeWalk
onLeave
Sets a callback function, that is called on any left directory after its files are visited and after it is visited itself.
fun onLeave(function: (File) -> Unit): FileTreeWalk
Extension Functions
filterIsInstanceTo
Appends all elements that are instances of specified class to the given destination.
fun <C : MutableCollection<in R>, R> Sequence<*>.filterIsInstanceTo(
destination: C,
klass: Class<R>
): C
toSortedSet
Returns a SortedSet of all elements.
fun <T> Sequence<T>.toSortedSet(
comparator: Comparator<in T>
): SortedSet<T>