V tomto výučbe sa pomocou príkladov dozvieme o Java FileReader a jeho metódach.
FileReader
Trieda java.io
obalu možno použiť na čítanie dát (písmenami) zo súborov.
Rozširuje InputSreamReader
triedu.
Skôr ako sa dozviete viac FileReader
, uistite sa, že viete o súbore Java.
Vytvorte FileReader
Aby sme vytvorili čítačku súborov, musíme najskôr importovať java.io.FileReader
balík. Po importovaní balíka môžeme vytvoriť čítačku súborov nasledovne.
1. Používanie názvu súboru
FileReader input = new FileReader(String name);
Tu sme vytvorili čítačku súborov, ktorá bude prepojená so súborom určeným menom.
2. Použitie objektu súboru
FileReader input = new FileReader(File fileObj);
Tu sme vytvorili čítačku súborov, ktorá bude prepojená so súborom určeným objektom súboru.
Vo vyššie uvedenom príklade sa údaje v súbore ukladajú pomocou nejakého predvoleného kódovania znakov.
Od verzie Java 11 však môžeme v súbore určiť aj typ kódovania znakov ( UTF-8 alebo UTF-16 ).
FileReader input = new FileReader(String file, Charset cs);
Tu sme pomocou Charset
triedy zadali kódovanie znakov čítačky súborov.
Metódy FileReader
FileReader
Trieda poskytuje implementácie pre rôzne metódy prezentovať vo Reader
triede.
metóda read ()
read()
- načíta z čítačky jeden znakread(char() array)
- načíta znaky z čítačky a uloží ich do zadaného poľaread(char() array, int start, int length)
- načíta z čítačky počet znakov rovný dĺžke a uloží do určeného poľa počnúc začiatkom pozície
Predpokladajme napríklad, že máme súbor s názvom input.txt s nasledujúcim obsahom.
This is a line of text inside the file.
Pokúsme sa prečítať súbor pomocou FileReader
.
import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výkon
Údaje v súbore: Toto je riadok textu vo vnútri súboru.
Vo vyššie uvedenom príklade sme vytvorili čítačku súborov s názvom input. Čítačka súborov je prepojená so súborom input.txt .
FileInputStream input = new FileInputStream("input.txt");
Na načítanie údajov zo súboru sme použili read()
metódu.
metóda getEncoding ()
Túto getEncoding()
metódu je možné použiť na získanie typu kódovania, ktoré sa používa na ukladanie údajov do súboru. Napríklad,
import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výkon
Kódovanie znakov vstupu1: Cp1252 Kódovanie znakov vstupu2: UTF8
Vo vyššie uvedenom príklade sme vytvorili 2 čítačky súborov s názvom input1 a input2.
- input1 neurčuje kódovanie znakov. Preto
getEncoding()
metóda vracia predvolené kódovanie znakov. - input2 určuje kódovanie znakov, UTF8 . Preto
getEncoding()
metóda vracia zadané kódovanie znakov.
Poznámka : Túto Charset.forName()
metódu sme použili na určenie typu kódovania znakov. Ak sa chcete dozvedieť viac, navštívte Java Charset (oficiálna dokumentácia Java).
metóda close ()
Na zatvorenie čítačky súborov môžeme použiť túto close()
metódu. Po close()
zavolaní metódy nemôžeme na čítanie údajov použiť čítačku.
Ďalšie metódy FileReader
Metóda | Popis |
---|---|
ready() | skontroluje, či je čítačka súborov pripravená na čítanie |
mark() | označte v čítačke súborov pozíciu, do ktorej boli načítané údaje |
reset() | vráti ovládací prvok do bodu v čítačke, kde bola nastavená značka |
Ak sa chcete dozvedieť viac, navštívte Java FileReader (oficiálna dokumentácia Java).