Arbeiten mit dem Dateisystem in Kotlin: vollständiger Leitfaden für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit dem Dateisystem in Kotlin



Die Arbeit mit dem Dateisystem ist eine der grundlegenden Aufgaben, auf die jeder Entwickler stößt. Unabhängig davon, ob Sie eine Konsolenanwendung, einen Webdienst oder eine mobile App für Android schreiben, ist die Fähigkeit, Dateien zu lesen, zu schreiben und zu verwalten, eine unverzichtbare Fähigkeit. In diesem Artikel werden wir im Detail besprechen, wie man mit dem Dateisystem in Kotlin arbeitet, wobei sowohl die Standard-Java-Methoden als auch die modernen Sprachfunktionen verwendet werden.



Kotlin ist eine moderne, prägnante und sichere Programmiersprache, die vollständig mit Java kompatibel ist. Das bedeutet, dass Sie alle Möglichkeiten von java.io und java.nio.file nutzen können, dabei aber viel kürzeren und ausdrucksstärkeren Code schreiben. Der Artikel richtet sich an Anfänger, die bereits mit den Grundlagen der Kotlin-Syntax vertraut sind.



Wichtige Klassen und Methoden für die Dateiarbeit



Bevor wir zur Praxis übergehen, lernen wir die wichtigsten Klassen kennen, die für die Arbeit mit dem Dateisystem in Kotlin benötigt werden:



  • java.io.File – die Hauptklasse zur Darstellung von Dateien und Verzeichnissen.
  • java.nio.file.Path – ein modernes Interface für die Arbeit mit Pfaden.
  • java.nio.file.Files – eine Utility-Klasse mit vielen statischen Methoden.
  • java.io.BufferedReader und java.io.BufferedWriter – für zeilenweises Lesen und Schreiben.


Kotlin bietet auch eigene praktische Erweiterungen für die Klasse File, die den Code noch einfacher machen. Zum Beispiel die Funktionen readText(), writeText(), appendText() und andere.



Erstellen von Dateien und Verzeichnissen



Beginnen wir mit dem Einfachsten – dem Erstellen einer Datei. In Kotlin geht das in einer Zeile:



import java.io.File

fun main() { val file = File("example.txt") file.createNewFile() // erstellt die Datei, falls sie nicht existiert println("Datei erstellt: ${file.absolutePath}")}


Beachten Sie: createNewFile() gibt einen Boolean zurück – true, wenn die Datei erstellt wurde, und false, wenn sie bereits existiert. Zum Erstellen von Verzeichnissen wird die Methode mkdir() oder mkdirs() verwendet (letztere erstellt alle fehlenden übergeordneten Ordner):



fun main() {    val dir = File("myFolder/subFolder")    if (dir.mkdirs()) {        println("Verzeichnis erstellt: ${dir.absolutePath}")    } else {        println("Verzeichnis konnte nicht erstellt werden")    }}


Lesen von Daten aus einer Datei



Es gibt mehrere Möglichkeiten, eine Datei in Kotlin zu lesen. Betrachten wir die gängigsten.



Komplette Datei auf einmal lesen



Wenn die Datei klein ist, ist es praktisch, ihren Inhalt in einen String oder eine Liste von Strings zu lesen:



fun main() {    val file = File("readme.txt")        // Gesamten Text in einen String lesen    val text: String = file.readText()    println("Dateiinhalt:$text")        // Zeilenweise lesen    val lines: List<String> = file.readLines()    lines.forEach { println("Zeile: $it") }}


Die Methode readText() gibt einen String zurück, readLines() eine Liste von Strings. Beide Methoden schließen die Datei nach dem Lesen automatisch, was sicher und bequem ist.



Zeilenweises Lesen mit Pufferung



Für große Dateien ist es besser, BufferedReader zu verwenden, um nicht die gesamte Datei in den Speicher zu laden:



fun main() {    val file = File("large_file.txt")    file.bufferedReader().use { reader ->        var line: String?        while (reader.readLine().also { line = it } != null) {            println("Lesen: $line")        }    }}


Die Konstruktion .use { } stellt sicher, dass die Ressource nach Beendigung des Blocks geschlossen wird, selbst wenn eine Ausnahme auftritt.

Blogs

Buchempfehlungen