Java nabízí několik způsobů, jak načíst soubor do řetězce, od použití základního FileReaderu po pokročilejší knihovny, jako je Apache Commons IO. V tomto článku prozkoumáme jednu takovou metodu pomocí třídy Files v Java NIO (New Input/Output).
Soubory Java NIO
Java NIO, představená v Javě 1.4, je sada knihoven zaměřených na zefektivnění neblokujících I/O operací a snazší práci s nimi. Třída Files, součást balíku java.nio.file, poskytuje mnoho obslužných metod pro provádění různých operací se soubory, včetně čtení souboru do řetězce.
Nyní se pustíme do podrobného vysvětlení kódu.
Krok 1: Nejprve budeme muset importovat potřebné balíčky:
"Jáva."
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
"."
Krok 2: Dále vytvoříme metodu, která vezme cestu k souboru jako vstup a vrátí obsah souboru jako řetězec:
"Jáva."
public static String readFileToString(String filePath) {
String fileContent = "";
Snaž se {
fileContent = new String(Files.readAllBytes(Paths.get(filePath)));
} chytit (IOException e) {
e.printStackTrace ();
}
vrátit obsah souboru;
}
"."
Krok 3: Nakonec můžeme použít naši metodu v main():
"Jáva."
public static void main (String [] args) {
String filePath = “cesta/k/vasemu/souboru.txt”;
String fileContent = readFileToString(filePath);
System.out.println(fileContent);
}
"."
Nyní se pojďme ponořit hlouběji do metod a tříd používaných v řešení.
Paths.get()
Třída java.nio.file.Paths nabízí statické metody pro konstrukci objektů Path. Jednou z těchto metod je get(). Metoda Paths.get() vezme řetězec představující cestu k souboru a převede jej na objekt Path. Tento objekt se později použije jako argument metody Files.readAllBytes().
- Cesta k souboru řetězce: Cesta k souboru zadaná jako argument.
- Objekt cesty: Vrácený objekt Path představuje soubor na zadané cestě.
Files.readAllBytes()
Metoda Files.readAllBytes() je součástí třídy java.nio.file.Files. Přečte všechny bajty ze souboru a vrátí pole bajtů. Toto bajtové pole je pak použito ke konstrukci řetězce a poskytuje jednoduchý a efektivní prostředek pro čtení obsahu souboru.
- Objekt cesty: Objekt Path představující soubor.
- byte[]: Pole bajtů obsahující obsah souboru.
Stručně řečeno, pomocí třídy Java NIO Files a jejích obslužných metod můžeme efektivně číst obsah souboru do řetězce. Kombinace metod Paths.get() a Files.readAllBytes() poskytuje robustní, snadno srozumitelné a efektivní řešení tohoto běžného úkolu. Pochopením vnitřního fungování této výkonné knihovny můžete využít její plný potenciál pro potřeby zpracování souborů Java.