Zápis do súboru v Kotline

1. Prehľad

V tomto rýchlom výučbe sa dozvieme o rôznych spôsoboch zápisu obsahu do súboru pomocou metód rozšírenia Kotlin - dostupných v jeho štandardnej knižnici.

2. Kotlin Súbor Prípony

Kotlin poskytuje rôzne spôsoby zápisu do súboru vo forme metód rozšírenia pre java.io.Súbor.

Niekoľko z nich použijeme na demonštráciu rôznych spôsobov, ako to môžeme dosiahnuť pomocou Kotlina:

  • writeText - umožňuje nám písať priamo z a String
  • writeBytes - umožňuje nám písať priamo z a ByteArray
  • printWriter - poskytuje nám PrintWriter
  • bufferedWriter - umožňuje nám písať pomocou a BufferedWriter

Poďme o nich diskutovať podrobnejšie.

3. Písanie priamo

Písanie priamo do a Súbor z daného zdroja je najjednoduchšia stratégia, ktorú môžeme očakávať pri použití metód rozšírenia Kotlin.

3.1. writeText

Pravdepodobne najpriamejšia metóda rozšírenia, writeText berie obsah ako String argument a zapíše ho priamo do zadaného súboru. Zadaný obsah je text zakódovaný do UTF-8 (predvolené) alebo iná špecifikovaná znaková sada:

Súbor (názov súboru) .writeText (obsah súboru)

Táto metóda interne deleguje ďalej writeBytes ako je opísané nižšie. Najskôr však prevedie daný obsah na pole bajtov pomocou zadanej znakovej sady.

3.2. writeBytes

Rovnako môžeme ako vstup použiť aj bajty. Metóda writeBytes vezme ByteArray ako argument a priamo ho zapíše do zadaného súboru. Je to užitočné, keď máme obsah skôr ako bajt ako pole textu.

Súbor (názov súboru) .writeBytes (fileContentAsArray)

Ak daný súbor existuje, prepíše sa.

4. Písanie do a Súbor Používanie spisovateľov

Kotlin ponúka aj metódy rozšírenia, ktoré nám poskytujú inštanciu Java Writer.

4.1. printWriter

Ak by sme chceli používať Java PrintWriter, Kotlin poskytuje a printWriter fungujú presne na tento účel. Pomocou neho môžeme tlačiť naformátované znázornenia objektov do formátu OutputStream:

Súbor (názov súboru) .printWriter ()

Táto metóda vráti nový PrintWriter inštancia. Ďalej môžeme metódu využiť použitie zvládnuť to:

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

S použitie, môžeme vykonať funkciu na prostriedku, ktorý sa po ukončení uzavrie. Zdroj je uzavretý bez ohľadu na to, či bola funkcia vykonaná úspešne, alebo vyvolala výnimku.

4.2. bufferedWriter

Rovnako Kotlin poskytuje aj bufferedWriter funkcia, ktorá nám poskytuje Java BufferedWriter.

Potom pomocou nej môžeme efektívnejšie zapisovať text do toku výstupov znakov.

Súbor (názov súboru) .bufferedWriter ()

Podobný PrintWriter, táto funkcia vráti nový BufferedWriter inštanciu, ktorú neskôr môžeme použiť na zápis obsahu súboru.

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

5. Záver

V tomto článku sme videli rôzne spôsoby zápisu do súboru pomocou metód rozšírenia Kotlin.

Nakoniec zdrojový kód pre tento článok a príslušné testovacie prípady sú k dispozícii v nasledujúcom úložisku GitHub.


$config[zx-auto] not found$config[zx-overlay] not found