V tomto programe sa naučíte rôzne techniky na vytváranie reťazcov z obsahu daného súboru v Kotline.
Predtým, ako vytvoríme reťazec zo súboru, predpokladáme, že máme v priečinku src súbor s názvom test.txt .
Tu je obsah súboru test.txt
Toto je testovací súbor.
Príklad 1: Vytvorenie reťazca zo súboru
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) )
Po spustení programu bude výstup:
(Toto je testovací súbor.)
Vo vyššie uvedenom programe používame vlastnosť System
's' user.dir
na získanie aktuálneho adresára uloženého v ceste premennej. Skontrolujte program Kotlin, aby ste získali viac informácií o aktuálnom adresári.
Použili sme defaultCharset()
na kódovanie súboru. Ak poznáte kódovanie, použite ho, inak je bezpečné použiť predvolené kódovanie.
Potom sme pomocou readAllLines()
metódy načítali všetky riadky zo súboru. Vezme cestu k súboru a jeho kódovanie a vráti všetky riadky ako zoznam, ako je to znázornené na výstupe.
Pretože readAllLines môže tiež vyvolať IOException, musíme definovať našu hlavnú metódu ako takú
public static void main (String () args) vyvolá IOException
Príklad 2: Vytvorte reťazec zo súboru
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) )
Po spustení programu bude výstup:
Toto je testovací súbor.
Vo vyššie uvedenom programe namiesto získania zoznamu reťazcov získame jeden reťazec, riadky so všetkým obsahom.
Na tento účel sme použili readAllBytes()
metódu na načítanie všetkých bajtov z danej cesty. Tieto bajty sa potom prevedú na reťazec pomocou predvoleného kódovania.
Tu je ekvivalentný kód Java: Program Java na vytvorenie reťazca z obsahu súboru.