У овом упутству ћемо научити нешто о Јава Реадеру, његовим подкласама и методама помоћу примера.
Reader
Класа у java.io
пакету је апстрактна суперцласс који представља ток карактера.
Пошто Reader
је апстрактна класа, она сама по себи није корисна. Међутим, његове подкласе се могу користити за читање података.
Поткласе Реадер-а
Да бисмо користили функционалност Reader
, можемо да користимо његове подкласе. Неки од њих су:
- БуффередРеадер
- ИнпутСтреамРеадер
- ФилеРеадер
- СтрингРеадер
О свим овим поткласама сазнаћемо у следећем упутству.
Направите читач
Да бисмо креирали Reader
, прво морамо да увозимо java.io.Reader
пакет. Једном када увозимо пакет, ево како можемо створити читач.
// Creates a Reader Reader input = new FileReader();
Овде смо креирали читач користећи FileReader
класу. То је зато што Reader
је апстрактна класа. Отуда не можемо створити објекат Reader
.
Напомена : Такође можемо да креирамо читаче из других подкласа Reader
.
Методи читача
Reader
Класа предвиђа различите методе које се спроводе својим подкласе. Ево неколико најчешће коришћених метода:
ready()
- проверава да ли је читач спреман за читањеread(char() array)
- чита знакове из стрима и чува у наведеном низуread(char() array, int start, int length)
- чита број знакова једнак дужини из стрима и чува у наведеном низу почев од почеткаmark()
- означава положај у току до ког су подаци прочитаниreset()
- враћа контролу у тачку у току где је постављена ознакаskip()
- одбацује наведени број знакова из стрима
Пример: Реадер помоћу ФилеРеадер-а
Ево како можемо да применимо Reader
коришћење FileReader
класе.
Претпоставимо да имамо датотеку која се зове инпут.ткт са следећим садржајем.
This is a line of text inside the file.
Покушајмо да читамо ову датотеку користећи FileReader
(подкласу од 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(); ) ) )
Оутпут
Да ли постоје подаци у стриму? труе Подаци у току: Ово је ред текста унутар датотеке.
У горњем примеру створили смо читач користећи FileReader
класу. Читач је повезан са датотеком инпут.ткт .
Reader input = new FileReader("input.txt");
Да бисмо читали податке из датотеке инпут.ткт , применили смо ове методе.
input.read(); // to read data from the reader input.close(); // to close the reader
Да бисте сазнали више, посетите Јава Реадер (званична Јава документација).