Класа Реадер у Јави је ан апстрактна класа за читање знаковних токова. Његове подкласе ( ФилеРеадер БуффередРеаде ) обезбеди имплементације са реад() као главним методом за читање знакова.
- Он имплементира Реадабле интерфејс који дефинише метод реад(ЦхарБуффер цб).
- Он имплементира Цлосеабле интерфејс који дефинише метод цлосе() за ослобађање ресурса.
Декларација класе читаоца
Декларација класе Реадер је дата у наставку:
линук која наредба
јавна апстрактна класа Реадер имплементира Реадабле Цлосеабле
Пример: Читајте текстуалну датотеку знак по знак користећи класу Реадер.
Javaimport java.io.*; public class Geeks { public static void main(String[] args) { try { // Create a FileReader object which is a subclass of Reader Reader r = new FileReader('example1.txt'); // Read one character at a time from the file int data = r.read(); while (data != -1) { // Convert the int to char and print System.out.print((char)data); data = r.read(); } // Close the reader r.close(); } catch (Exception ex) { System.out.println('An error occurred: ' + ex.getMessage()); } } }
Излаз :
бројати различите скл
Напомена: Да бисте осигурали да програм ради исправно, направите датотеку под називом екампле1.ткт у радном директоријуму.
Додајте следећи садржај у датотеку или можете додати било који текст.
Здраво, добродошли у Геекс фор Геекс
Сачувајте датотеку и покрените програм. Програм ће прочитати и приказати садржај примера1.txtкао излаз.
Конструктори класе Реадер
Постоје два конструктора који се користе са Јава Реадер Цласс као што је наведено у наставку:
екцлп
- заштићени Реадер(): Креира нови читач токова знакова чији ће се критични делови синхронизовати на самом читачу.
- заштићени читач (закључавање објекта) : Креира нови читач токова знакова чији ће се критични делови синхронизовати на датом објекту.
Методе класе Јава Реадер
| Метод | Опис |
|---|---|
| апстрактна воид цлосе() | Затвара ток и ослобађа ресурсе. |
| воид марк(инт реадАхеадЛимит) | Означава тренутну позицију у стриму. |
| боолеан маркСуппортед() | Проверава да ли су подржане операције означавања/ресетовања. |
| инт реад() | Чита један знак из тока. Враћа -1 ако се достигне крај. |
| инт реад(цхар[] цбуф) | Чита више знакова у низ. |
| абстрацт инт реад(цхар[] цбуф инт офф инт лен) | Чита део низа почевши од офсет-а за дужину лен. |
| инт реад (ЦхарБуффер циљ) | Чита знакове у ЦхарБуффер објекат. |
| воид ресет() | Ресетује стрим на најновију позицију ознаке. |
| дуго прескочи (дуго н) | Прескаче наведени број знакова. |
Пример: Програм у наставку показује рад различитих функционалности класе Реадер у Јави.
Javaimport java.io.*; import java.nio.CharBuffer; import java.util.Arrays; public class Geeks { public static void main(String[] args) throws IOException { // Open a file reader Reader r = new FileReader('file.txt'); PrintStream out = System.out; // Create a character array and CharBuffer char[] buffer = new char[10]; CharBuffer charBuffer = CharBuffer.wrap(buffer); // Check if the reader supports marking if (r.markSupported()) { r.mark(100); // Mark the current position out.println('mark method is supported'); } // Skip 5 characters in the stream r.skip(5); // Check if the stream is ready to read if (r.ready()) { // Read 10 characters into the buffer r.read(buffer 0 10); out.println('Buffer after reading 10 chars: ' + Arrays.toString(buffer)); // Read characters into the CharBuffer r.read(charBuffer); out.println( 'CharBuffer contents: ' + Arrays.toString(charBuffer.array())); // Read a single character out.println('Next character: ' + (char)r.read()); } // Close the reader r.close(); } }
Излаз:
Имплементација часова читаоца
Неке од имплементација Реадер класа у Јави су наведене у наставку:
- БуффередРеадер
- ЦхарАрраиРеадер
- ФилтерРеадер
- ИнпутСтреамРеадер
- ПипедРеадер
- СтрингРеадер