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)
enFiles.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
File
API-documentatie - Duik in wat je kunt doen metFile
.Files
API-documentatie in java.nio.file pakket - Voor geavanceerde bestandsbewerkingen.- Officiële documentatie van Kotlin - Leer meer over de mogelijkheden van Kotlin.
- Stack Overflow - Vind door de gemeenschap aangedragen problemen en oplossingen.