V tem programu boste spoznali različne tehnike za ustvarjanje niza iz vsebine dane datoteke v Kotlinu.
Preden iz datoteke ustvarimo niz, predpostavimo, da imamo v mapi src datoteko z imenom test.txt .
Tukaj je vsebina test.txt
To je testna datoteka.
Primer 1: Ustvari niz iz datoteke
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) )
Ko zaženete program, bo rezultat:
(To je testna datoteka.)
V zgornjem programu uporabljamo lastnost System
'', user.dir
da dobimo trenutni imenik, shranjen v spremenljivi poti. Če želite več informacij, obiščite Program Kotlin, da dobite trenutni imenik.
Uporabili smo defaultCharset()
za kodiranje datoteke. Če poznate kodiranje, ga uporabite, sicer je varno uporabiti privzeto kodiranje.
Nato smo z readAllLines()
metodo prebrali vse vrstice iz datoteke. Poteka do datoteke in njenega kodiranja in vrne vse vrstice kot seznam, kot je prikazano v izhodu.
Ker lahko readAllLines vrže tudi IOException, moramo definirati naš glavni način kot tak
public static void main (String () args) vrže IOException
2. primer: Ustvari niz iz datoteke
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) )
Ko zaženete program, bo rezultat:
To je testna datoteka.
V zgornjem programu namesto seznama nizov dobimo en niz, vrstice, z vso vsebino.
Za to smo uporabili readAllBytes()
metodo za branje vseh bajtov z dane poti. Ti bajti se nato s privzetim kodiranjem pretvorijo v niz.
Tu je enakovredna koda Java: program Java za ustvarjanje niza iz vsebine datoteke.