Tässä ohjelmassa opit erilaisia tekniikoita merkkijonon luomiseksi tietyn tiedoston sisällöistä Kotlinissa.
Ennen kuin luomme merkkijonon tiedostosta, oletamme , että src- kansiossamme on tiedosto test.txt .
Tässä on test.txt-tiedoston sisältö
Tämä on testitiedosto.
Esimerkki 1: Luo merkkijono tiedostosta
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) )
Kun suoritat ohjelmaa, tulos on:
(Tämä on testitiedosto.)
Yllä olevassa ohjelmassa, käytämme System
n user.dir
omaisuutta saada nykyistä hakemisto tallennetaan muuttujaan tiellä. Tarkista Kotlin-ohjelma saadaksesi lisätietoja nykyisestä hakemistosta.
Käytimme defaultCharset()
tiedoston koodaukseen. Jos tiedät koodauksen, käytä sitä, muuten on turvallista käyttää oletuskoodausta.
Sitten käytimme readAllLines()
menetelmää kaikkien rivien lukemiseen tiedostosta. Se vie tiedoston polun ja sen koodauksen ja palauttaa kaikki rivit luettelona, kuten tulostuksessa on esitetty.
Koska readAllLines voi myös heittää IOExceptionin, meidän on määriteltävä päämenetelmämme sellaisenaan
public static void main (String () args) heittää IOExceptionin
Esimerkki 2: Luo merkkijono tiedostosta
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) )
Kun suoritat ohjelmaa, tulos on:
Tämä on testitiedosto.
Yllä olevassa ohjelmassa sen sijaan, että saisimme merkkijonoluettelon, saamme yhden merkkijonon, rivit, kaikilla sisällöillä.
Tätä varten käytimme readAllBytes()
menetelmää kaikkien tavujen lukemiseen annetulta polulta. Nämä tavut muunnetaan sitten merkkijonoksi käyttämällä oletuskoodausta.
Tässä on vastaava Java-koodi: Java-ohjelma, jolla luodaan merkkijono tiedoston sisällöstä.