V tomto programu se naučíte různé techniky, jak vytvořit řetězec z obsahu daného souboru v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Řetězec Java
- Třída souborů Java
Než vytvoříme řetězec ze souboru, předpokládáme, že máme v naší složce src soubor s názvem test.txt .
Tady je obsah souboru test.txt
Toto je testovací soubor.
Příklad 1: Vytvoření řetězce ze souboru
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); ) )
Výstup
(Toto je testovací soubor.)
Ve výše uvedeném programu používáme vlastnost System
'' user.dir
k získání aktuálního adresáře uloženého v proměnné cestě. Chcete-li získat aktuální informace o aktuálním adresáři, zkontrolujte program Java.
Použili jsme defaultCharset()
pro kódování souboru. Pokud znáte kódování, použijte jej, jinak je bezpečné použít výchozí kódování.
Poté jsme pomocí readAllLines()
metody načetli všechny řádky ze souboru. Vezme cestu k souboru a jeho kódování a vrátí všechny řádky jako seznam, jak je znázorněno na výstupu.
Protože readAllLines
může také vyvolat IOException, musíme definovat naši hlavní metodu jako takovou
public static void main (String () args) vyvolá IOException
Příklad 2: Vytvoření řetězce ze souboru
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); ) )
Výstup
Toto je testovací soubor.
Ve výše uvedeném programu namísto získání seznamu řetězců získáme jeden řetězec, řádky se všemi obsahy.
K tomu jsme použili readAllBytes()
metodu ke čtení všech bytů z dané cesty. Tyto bajty jsou poté převedeny na řetězec pomocí výchozího kódování.