Controleren of een directory bestaat

Kotlin:
Controleren of een directory bestaat

Hoe:

In Kotlin gebruik je doorgaans java.io.File (uit de standaardbibliotheek van Java) om te controleren op een map. Hier is een snel voorbeeld:

import java.io.File

fun main() {
    val directoryPath = "pad/naar/map"
    val directory = File(directoryPath)

    if (directory.exists() && directory.isDirectory) {
        println("De map bestaat!")
    } else {
        println("De map bestaat niet.")
    }
}

Voorbeelduitvoer wanneer de map bestaat:

De map bestaat!

En wanneer het niet zo is:

De map bestaat niet.

Diepgaande Duik

De methode exists() in Java bestaat al sinds de vroege dagen van Java. Toen Kotlin kwam, behield het sterke interoperabiliteit met Java, waardoor het mogelijk werd direct Java-bibliotheken te gebruiken. exists() retourneert true als een bestand of map bestaat, maar om zeker te weten dat het een map is en geen bestand, controleren we ook isDirectory.

Nu, alternatieven:

  • Kotlin’s java.nio.file pakket: Het biedt Files.exists(path) en Files.isDirectory(path). Deze methoden werken op een vergelijkbare manier maar bieden meer controle over bestandsattributen.

  • Kotlin-specifieke bibliotheken: Sommige door de gemeenschap aangedreven bibliotheken breiden Kotlin’s vermogen om met bestanden te werken uit. Ze bieden meer idiomatische Kotlin-oplossingen, maar onder de motorkap zijn het vaak simpelweg wrappers rond Java’s I/O-klassen.

Werken met mappen is een mix van aanwezigheid controleren (bestaat het?) en type (is het een bestand of map?). Beide controles zijn essentieel om te voorkomen dat je programma struikelt over onverwachte bestandssysteemtoestanden.

Zie Ook