U ovom ćete programu naučiti različite tehnike za stvaranje niza iz sadržaja date datoteke u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java String
- Klasa Java datoteke
Prije nego što stvorimo niz iz datoteke, pretpostavimo da u mapi src imamo datoteku nazvanu test.txt .
Evo sadržaja test.txt
Ovo je test datoteka.
Primjer 1: Stvaranje niza 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); ) )
Izlaz
(Ovo je datoteka za testiranje.)
U gore navedenom programu, koristimo System
„s user.dir
imovine kako bi dobili trenutni direktorij pohranjen u varijablu putu. Provjerite Java program da biste dobili više informacija o trenutnom direktoriju.
Koristili smo defaultCharset()
za kodiranje datoteke. Ako znate kodiranje, upotrijebite ga, inače je sigurno koristiti zadano kodiranje.
Zatim smo readAllLines()
metodom čitali sve retke iz datoteke. Uzima put datoteke i njezino kodiranje i vraća sve retke kao popis kao što je prikazano u izlazu.
Budući da readAllLines
također može baciti IOException, moramo definirati našu glavnu metodu kao takvu
public static void main (String () args) baca IOException
Primjer 2: Stvaranje niza 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); ) )
Izlaz
Ovo je test datoteka.
U gornjem programu, umjesto da dobijemo popis nizova, dobivamo jedan niz, retke, sa svim sadržajem.
Za to smo koristili readAllBytes()
metodu za čitanje svih bajtova s dane staze. Ti se bajtovi zatim pretvaraju u niz pomoću zadanog kodiranja.