I dette programmet lærer du forskjellige teknikker for å lage en streng fra innholdet i en gitt fil i Kotlin.
Før vi oppretter en streng fra en fil, antar vi at vi har en fil som heter test.txt i src- mappen.
Her er innholdet i test.txt
Dette er en testfil.
Eksempel 1: Opprett streng fra fil
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset(); val lines = Files.readAllLines(Paths.get(path), encoding) println(lines) )
Når du kjører programmet, vil utdataene være:
(Dette er en testfil.)
I programmet ovenfor, bruker vi System
's user.dir
eiendom for å få den gjeldende katalogen lagret i variabelen banen. Sjekk Kotlin-programmet for å få den gjeldende katalogen for mer informasjon.
Vi brukte defaultCharset()
for koding av filen. Hvis du kjenner kodingen, bruk den, ellers er det trygt å bruke standard koding.
Deretter brukte vi readAllLines()
metoden for å lese alle linjene fra filen. Det tar banen for filen og kodingen, og returnerer alle linjene som en liste som vist i utdataene.
Siden readAllLines også kan kaste en IOException, må vi definere vår hovedmetode som sådan
public static void main (String () args) kaster IOException
Eksempel 2: Opprett streng fra en fil
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset() val encoded = Files.readAllBytes(Paths.get(path)) val lines = String(encoded, encoding) println(lines) )
Når du kjører programmet, vil utdataene være:
Dette er en testfil.
I programmet ovenfor, i stedet for å få en liste over strenger, får vi en enkelt streng, linjer, med alt innholdet.
For dette brukte vi readAllBytes()
metode for å lese alle byte fra den gitte banen. Disse bytene blir deretter konvertert til en streng ved hjelp av standardkodingen.
Her er ekvivalent Java-kode: Java-program for å lage en streng fra innholdet i en fil.