Јава Реадер Цласс
Класа Реадер у Јави је ан апстрактна класа за читање знаковних токова. Његове подкласе ( ФилеРеадер БуффередРеаде ) обезбеди имплементације са реад() као главним методом за читање знакова.
- Он имплементира Реадабле интерфејс који дефинише метод реад(ЦхарБуффер цб).
- Он имплементира Цлосеабле интерфејс који дефинише метод цлосе() за ослобађање ресурса.
Реадер Декларација класе читаоца
Декларација класе Реадер је дата у наставку:
јавна апстрактна класа Реадер имплементира Реадабле Цлосеабле
Пример: Читајте текстуалну датотеку знак по знак користећи класу Реадер.
Java import 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 ако се достигне крај. |
| инт реад(цхар[] цбуф) | Чита више знакова у низ. |
| абстрацт инт реад(цхар[] цбуф инт офф инт лен) | Чита део низа почевши од офсет-а за дужину лен. |
| инт реад (ЦхарБуффер циљ) | Чита знакове у ЦхарБуффер објекат. |
| воид ресет() | Ресетује стрим на најновију позицију ознаке. |
| дуго прескочи (дуго н) | Прескаче наведени број знакова. |
Пример: Програм у наставку показује рад различитих функционалности класе Реадер у Јави.
Java import 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 (); } }
Излаз:
Излаз Имплементација часова читаоца
Неке од имплементација Реадер класа у Јави су наведене у наставку:
- БуффередРеадер
- ЦхарАрраиРеадер
- ФилтерРеадер
- ИнпутСтреамРеадер
- ПипедРеадер
- СтрингРеадер