V tomto výučbe sa pomocou príkladu dozvieme o Java Reader, jeho podtriedach a metódach.
Reader
Trieda java.io
balíčka je abstraktné nadtřída, ktorá predstavuje prúd znakov.
Pretože Reader
ide o abstraktnú triedu, nie je sama osebe užitočná. Jeho podtriedy však možno použiť na čítanie údajov.
Podtriedy aplikácie Reader
Aby sme mohli využiť funkčnosť Reader
, môžeme použiť jej podtriedy. Niektoré z nich sú:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
O všetkých týchto podtriedach sa dozvieme v ďalšom návode.
Vytvorte čítačku
Aby sme vytvorili Reader
, musíme najskôr importovať java.io.Reader
balík. Po importovaní balíka tu môžeme vytvoriť čítačku.
// Creates a Reader Reader input = new FileReader();
Tu sme pomocou FileReader
triedy vytvorili čítačku . Je to preto, lebo Reader
ide o abstraktnú triedu. Preto nemôžeme vytvoriť objekt Reader
.
Poznámka : Čítačky môžeme vytvárať aj z iných podtried triedy Reader
.
Methods of Reader
Reader
Trieda poskytuje rôzne metódy, ktoré sú implementované jej podtriedy. Tu uvádzame niektoré z bežne používaných metód:
ready()
- skontroluje, či je čítačka pripravená na čítanieread(char() array)
- načíta znaky z streamu a uloží ich do zadaného poľaread(char() array, int start, int length)
- načíta počet znakov rovných dĺžke z toku a uloží sa do zadaného poľa počnúc od začiatkumark()
- označí pozíciu v streame, do ktorej boli načítané údajereset()
- vráti ovládací prvok do bodu v streame, kde je nastavená značkaskip()
- zahodí zadaný počet znakov z toku
Príklad: Čítačka pomocou programu FileReader
Takto môžeme implementovať Reader
použitie FileReader
triedy.
Predpokladajme, ž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 tento súbor prečítať pomocou FileReader
(podtriedy Reader
).
import java.io.Reader; 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 Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výkon
Existujú v streame údaje? true Údaje v streame: Toto je riadok textu vo vnútri súboru.
Vo vyššie uvedenom príklade sme pomocou FileReader
triedy vytvorili čítačku . Čítačka je prepojená so súborom input.txt .
Reader input = new FileReader("input.txt");
Na načítanie údajov zo súboru input.txt sme implementovali tieto metódy.
input.read(); // to read data from the reader input.close(); // to close the reader
Ak sa chcete dozvedieť viac, navštívte Java Reader (oficiálna dokumentácia Java).