Skrivning til en fil i Kotlin

1. Oversigt

I denne hurtige vejledning lærer vi om forskellige måder at skrive indhold til en fil ved hjælp af Kotlin-udvidelsesmetoder - tilgængelig i dets standardbibliotek.

2. Kotlin Fil Udvidelser

Kotlin giver forskellige måder at skrive til en fil i form af udvidelsesmetoder til java.io-fil.

Vi bruger flere af disse til at demonstrere forskellige måder, hvorpå vi kan opnå dette ved hjælp af Kotlin:

  • skriv tekst - lader os skrive direkte fra en Snor
  • writeBytes - gør det muligt for os at skrive direkte fra en ByteArray
  • printWriter - giver os en PrintWriter
  • bufferedWriter - giver os mulighed for at skrive ved hjælp af en BufferedWriter

Lad os diskutere dem mere detaljeret.

3. Skrivning direkte

Skriv direkte til en Fil fra en given kilde er den enkleste strategi, som vi kan forvente ved hjælp af Kotlin-udvidelsesmetoder.

3.1. skriv tekst

Sandsynligvis den mest enkle udvidelsesmetode, writeText tager indholdet som en Snor argument og skriver det direkte i den angivne fil. Det givne indhold er tekst kodet i UTF-8 (standard) eller ethvert andet specificeret tegnsæt:

File (fileName) .writeText (fileContent)

Denne metode delegerer internt videre writeBytes som beskrevet nedenfor. Men først konverterer det givne indhold til en række bytes ved hjælp af det angivne tegnsæt.

3.2. writeBytes

På samme måde kan vi bruge bytes som input. Metoden writeBytes tager et ByteArray som argument og skriver det direkte i den angivne fil. Dette er nyttigt, når vi har indholdet som en række bytes i stedet for almindelig tekst.

File (fileName) .writeBytes (fileContentAsArray)

Hvis den givne fil findes, overskrives den.

4. Skrivning til en Fil Brug af forfattere

Kotlin tilbyder også udvidelsesmetoder, der giver os en Java Writer-forekomst.

4.1. printWriter

Hvis vi gerne vil bruge en Java PrintWriter, Giver Kotlin en printWriter fungerer nøjagtigt til dette formål. Med det kan vi udskrive formaterede repræsentationer af objekter til et OutputStream:

Fil (filnavn) .printWriter ()

Denne metode returnerer en ny PrintWriter eksempel. Dernæst kan vi drage fordel af metoden brug at håndtere det:

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

Med brug, vi kan udføre en funktion på ressourcen, som lukkes efter afslutning. Ressourcen lukkes uanset om funktionen blev udført med succes eller kastede en undtagelse.

4.2. bufferedWriter

Ligeledes giver Kotlin også en bufferedWriter funktion, der giver os en Java BufferedWriter.

Derefter kan vi med det skrive tekst til en tegn-output-strøm på en mere effektiv måde.

Fil (filnavn) .bufferedWriter ()

Svarende til PrintWriter, denne funktion returnerer en ny BufferedWriter eksempel, som vi senere kan bruge til at skrive indholdet af filen.

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

5. Konklusion

I denne artikel så vi forskellige måder at skrive ind i en fil ved hjælp af Kotlin-udvidelsesmetoder.

Endelig er kildekoden til denne artikel og de relevante testtilfælde tilgængelige i følgende GitHub-lager.


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