V tem programu boste spoznali različne tehnike za ustvarjanje niza iz vsebine dane datoteke v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Java Java
- Java File Class
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.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); ) )
Izhod
(To je testna datoteka.)
V zgornjem programu uporabljamo lastnost System
'', user.dir
da dobimo trenutni imenik, shranjen v spremenljivi poti. Če želite več informacij, si oglejte program Java.
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. Zavzame pot datoteke in njeno kodiranje ter vrne vse vrstice kot seznam, kot je prikazano v izhodu.
Ker readAllLines
lahko vrže tudi IOException, moramo definirati naš glavni način kot tak
public static void main (String () args) vrže IOException
Primer 2: Ustvari niz iz datoteke
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); ) )
Izhod
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.