Skriver til en fil i Kotlin

1. Oversikt

I denne raske opplæringen lærer vi om forskjellige måter å skrive innhold i en fil ved hjelp av Kotlin-utvidelsesmetoder - tilgjengelig i standardbiblioteket.

2. Kotlin Fil Utvidelser

Kotlin gir forskjellige måter å skrive inn i en fil i form av utvidelsesmetoder for java.io. fil.

Vi bruker flere av disse for å demonstrere forskjellige måter vi kan oppnå dette ved å bruke Kotlin:

  • skriv tekst - lar oss skrive direkte fra en String
  • writeBytes - gjør oss i stand til å skrive direkte fra en ByteArray
  • printWriter - gir oss en PrintWriter
  • bufferedWriter - lar oss skrive ved hjelp av a BufferedWriter

La oss diskutere dem nærmere.

3. Skrive direkte

Skrive direkte inn i en Fil fra en gitt kilde er den enkleste strategien vi kan forvente ved bruk av Kotlin-utvidelsesmetoder.

3.1. skriv tekst

Sannsynligvis den mest enkle utvidelsesmetoden, writeText tar innholdet som en String argumentet og skriver det direkte i den angitte filen. Det gitte innholdet er tekstkodet inn UTF-8 (standard) eller et annet spesifisert tegnsett:

File (fileName) .writeText (fileContent)

Denne metoden delegerer internt videre writeBytes som beskrevet nedenfor. Men først konverterer det gitte innholdet til en rekke byte ved hjelp av det angitte tegnsettet.

3.2. writeBytes

På samme måte kan vi bruke byte som inngang. Metoden writeBytes tar en ByteArray som argument og skriver den direkte inn i den angitte filen. Dette er nyttig når vi har innholdet som en rekke byte i stedet for ren tekst.

File (fileName) .writeBytes (fileContentAsArray)

Hvis den gitte filen eksisterer, blir den overskrevet.

4. Skrive inn i en Fil Bruke forfattere

Kotlin tilbyr også utvidelsesmetoder som gir oss en Java Writer-forekomst.

4.1. printWriter

Hvis vi vil bruke Java PrintWriter, Gir Kotlin en printWriter fungerer nøyaktig for dette formålet. Med den kan vi skrive ut formaterte representasjoner av objekter til en OutputStream:

Fil (filnavn) .printWriter ()

Denne metoden returnerer en ny PrintWriter forekomst. Deretter kan vi dra nytte av metoden bruk å håndtere det:

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

Med bruk, vi kan utføre en funksjon på ressursen som blir lukket etter avslutning. Ressursen lukkes uavhengig av om funksjonen ble utført vellykket eller kastet et unntak.

4.2. bufferedWriter

På samme måte gir Kotlin også en bufferedWriter funksjon som gir oss en Java BufferedWriter.

Deretter kan vi med det skrive tekst til en tegnutgangsstrøm på en mer effektiv måte.

Fil (filnavn) .bufferedWriter ()

Lik PrintWriter, returnerer denne funksjonen en ny BufferedWriter forekomst som senere kan vi bruke til å skrive innholdet i filen.

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

5. Konklusjon

I denne artikkelen så vi forskjellige måter å skrive inn i en fil ved hjelp av Kotlin-utvidelsesmetoder.

Til slutt er kildekoden for denne artikkelen og de relevante testtilfellene tilgjengelig i følgende GitHub-arkiv.


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