In eine Datei in Kotlin schreiben

Schreiben in eine Datei in Kotlin

1. Überblick

In diesem kurzen Tutorial lernen wir verschiedene Möglichkeiten kennen, wie Sie mithilfe von Kotlin-Erweiterungsmethoden Inhalte in eine Datei schreiben können - verfügbar in der Standardbibliothek.

2. KotlinFile Erweiterungen

Kotlin bietet verschiedene Möglichkeiten zum Schreiben in eine Datei in Form von Erweiterungsmethoden fürjava.io.File.

Wir werden einige davon verwenden, um verschiedene Möglichkeiten zu demonstrieren, wie wir dies mit Kotlin erreichen können:

  • writeText – lässt uns direkt aus einemString schreiben

  • writeBytes – ermöglicht es uns, direkt ausByteArray zu schreiben

  • printWriter – gibt uns einPrintWriter

  • MitbufferedWriter – können wir mitBufferedWriter schreiben

Lassen Sie uns sie genauer diskutieren.

3. Direkt schreiben

Das Schreiben inFile  aus einer bestimmten Quelle ist die einfachste Strategie, die wir mit Kotlin-Erweiterungsmethoden erwarten können.

3.1. writeText

Wahrscheinlich die einfachste Erweiterungsmethode,writeText takes the content as a String argument and writes it directly into the specified file. Der angegebene Inhalt ist Text, der inUTF-8 (Standard) oder einem anderen angegebenencharset codiert ist:

File(fileName).writeText(fileContent)

Diese Methode delegiert intern anwriteBytes as, wie unten beschrieben. Zunächst wird der angegebene Inhalt mit dem angegebenen Zeichensatz in ein Array von Bytes konvertiert.

3.2. writeBytes

Ebenso können wir Bytes als Eingabe verwenden. The method writeBytes takes a ByteArray as an argument and directly writes it into the specified file. Dies ist nützlich, wenn der Inhalt als Array von Bytes und nicht als einfacher Text vorliegt.

File(fileName).writeBytes(fileContentAsArray)

Wenn die angegebene Datei vorhanden ist, wird sie überschrieben.

4. Schreiben in einFile Verwenden von Writern

Kotlin bietet auch Erweiterungsmethoden an, die uns eine JavaWriter-Instanz liefern.

4.1. printWriter

If we’d like to use a Java PrintWriter, Kotlin provides a printWriter function exactly for this purpose. Damit können wir formatierte Darstellungen von Objekten aufOutputStream drucken:

File(fileName).printWriter()

Diese Methode gibt eine neuePrintWriter-Instanz zurück. Als nächstes können wir die Methodeuse nutzen, um damit: zu behandeln

File(fileName).printWriter().use { out -> out.println(fileContent) }

Mituse, kann swe eine Funktion für die Ressource ausführen, die nach Beendigung geschlossen wird. Die Ressource wird unabhängig davon geschlossen, ob die Funktion erfolgreich ausgeführt wurde oder eine Ausnahme ausgelöst hat.

4.2. bufferedWriter

Ebenso bietet Kotlin einebufferedWriter-Funktion, die uns eine JavaBufferedWriter. liefert

Dann können wir auf effizientere Weise Text in einen Zeichenausgabestream schreiben.

File(fileName).bufferedWriter()

Ähnlich wie beiPrintWriter gibt diese Funktion eine neueBufferedWriter-Instanz zurück, mit der wir später den Inhalt der Datei schreiben können.

File(fileName).bufferedWriter().use { out -> out.write(fileContent) }

5. Fazit

In diesem Artikel haben wir verschiedene Arten des Schreibens in eine Datei mithilfe der Kotlin-Erweiterungsmethoden gesehen.

Schließlich sind der Quellcode für diesen Artikel und die relevanten Testfälle in den folgendenGitHub repository verfügbar.