FileTreeWalk

class FileTreeWalk : Sequence<File> (source)

Platform and version requirements: JVM

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

iterator

fun iterator(): Iterator<File>

Returns an iterator walking through files.

maxDepth

fun maxDepth(depth: Int): FileTreeWalk

Sets the maximum depth of a directory tree to traverse. By default there is no limit.

onEnter

fun onEnter(function: (File) -> Boolean): FileTreeWalk

Sets a predicate function, that is called on any entered directory before its files are visited and before it is visited itself.

onFail

fun onFail(
    function: (File, IOException) -> Unit
): FileTreeWalk

Set a callback function, that is called on a directory when it's impossible to get its file list.

onLeave

fun onLeave(function: (File) -> Unit): FileTreeWalk

Sets a callback function, that is called on any left directory after its files are visited and after it is visited itself.

Extension Functions

asStream

fun <T> Sequence<T>.asStream(): Stream<T>

Creates a sequential Stream instance that produces elements from the original sequence.

filterIsInstance

fun <R> Sequence<*>.filterIsInstance(
    klass: Class<R>
): Sequence<R>

Returns a sequence containing all elements that are instances of specified class.

filterIsInstanceTo

fun <C : MutableCollection<in R>, R> Sequence<*>.filterIsInstanceTo(
    destination: C,
    klass: Class<R>
): C

Appends all elements that are instances of specified class to the given destination.

toSortedSet

fun <T : Comparable<T>> Sequence<T>.toSortedSet(): SortedSet<T>
fun <T> Sequence<T>.toSortedSet(
    comparator: Comparator<in T>
): SortedSet<T>

Returns a SortedSet of all elements.