Tässä ohjelmassa opit erilaisia tekniikoita luomaan merkkijono tietyn Java-tiedoston sisältöistä.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java-merkkijono
- Java-tiedostoluokka
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.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); List lines = Files.readAllLines(Paths.get(path), encoding); System.out.println(lines); ) )
Tuotos
(Tämä on testitiedosto.)
Yllä olevassa ohjelmassa, käytämme System
n user.dir
omaisuutta saada nykyistä hakemisto tallennetaan muuttujaan tiellä. Tarkista Java-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 se readAllLines
voi myös aiheuttaa 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.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); byte() encoded = Files.readAllBytes(Paths.get(path)); String lines = new String(encoded, encoding); System.out.println(lines); ) )
Tuotos
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.