deleteRecursively

Recursively deletes this directory and its content. Note that if this function throws, partial deletion may have taken place.

@ExperimentalPathApifun Path.deleteRecursively()(source)
import java.nio.file.Files
import kotlin.io.path.ExperimentalPathApi
import kotlin.io.path.deleteRecursively
import kotlin.io.path.exists
import kotlin.io.path.resolve
import kotlin.io.path.writeText

@OptIn(ExperimentalPathApi::class)
fun main() {
    // Create a temporary directory with nested files
    val rootDir = Files.createTempDirectory("demo").toPath()
    val file = rootDir.resolve("file.txt")
    val subDir = rootDir.resolve("sub")
    Files.createDirectory(subDir)
    val subFile = subDir.resolve("subfile.txt")

    file.writeText("Hello")
    subFile.writeText("World")

    println("Before deletion: ${rootDir.exists()}")
    // Recursively delete the directory and all its contents
    rootDir.deleteRecursively()
    println("After deletion: ${rootDir.exists()}")
}

Source