Java FileReader (s príkladmi)

V tomto výučbe sa pomocou príkladov dozvieme o Java FileReader a jeho metódach.

FileReaderTrieda java.ioobalu možno použiť na čítanie dát (písmenami) zo súborov.

Rozširuje InputSreamReadertriedu.

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.FileReaderbalí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 Charsettriedy zadali kódovanie znakov čítačky súborov.

Metódy FileReader

FileReaderTrieda poskytuje implementácie pre rôzne metódy prezentovať vo Readertriede.

metóda read ()

  • read() - načíta z čítačky jeden znak
  • read(char() array) - načíta znaky z čítačky a uloží ich do zadaného poľa
  • read(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).

Zaujímavé články...