Јава ПусхбацкРеадер класа
Тхе ПусхбацкРеадер класа у Јави је део јава.ио.пацкаге и користи се за читање знакова из тока. Ова класа нам омогућава да гурнемо знакове назад у ток.
Карактеристике ПусхбацкРеадер класе:
- Ова класа користи бафер који нам омогућава да гурнемо знакове назад у ток.
- Ова класа је одлична за читање текста и проверу знакова без употребе одмах. Ако лик није потребан, може се повући.
Пример:
Java // Demonstrating the working // of PushbackReader import java.io.* ; public class Geeks { public static void main ( String [] args ) { String s = 'Hello World!' ; StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader ( sr ); try { // Read the first character int char1 = pr . read (); System . out . println ( 'Read character: ' + ( char ) char1 ); // Push this character back into the stream pr . unread ( char1 ); // Read the same character again (since we pushed it back) int char2 = pr . read (); System . out . println ( 'Read character again: ' + ( char ) char2 ); // Continue reading the next character int char3 = pr . read (); System . out . println ( 'Next character: ' + ( char ) char3 ); // Close the reader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Излаз
Read character: H Read character again: H Next character: e
Декларација класе ПусхбацкРеадер
Декларација класе ПусхбацкРеадер је наведена у наставку:
јавна класа ПусхбацкРеадер проширује ФилтерРеадер
Сви имплементирани интерфејси:
- Затварање: Овај интерфејс се користи за ослобађање ресурса
- АутоЦлосеабле: Овај интерфејс омогућава аутоматско затварање у изјави покушаја са ресурсима.
- Читљиво: Овај интерфејс се користи за читање података са објекта.
Конструктори у ПусхбацкРеадер-у
Ова класа се састоји од два конструктора уз помоћ којих можемо креирати објекат ове класе на различите начине. Следећи су конструктори доступни у овој класи:
1. ПусхбацкРеадер (притиснути читач): Овај конструктор се користи за креирање новог ПусхбацкРеадер-а са подразумеваним бафером за враћање.
Синтакса:
јавни ПусхбацкРеадер(Реадер пусх)
Пример:
Java // Demonstrating the working // of PushbackReader(Reader push) import java.io.* ; public class Geeks { public static void main ( String [] args ) { // String to be read String s = 'Hello World!' ; // Create a StringReader to read from the string StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader ( sr ); try { // Read and print characters int charRead ; while (( charRead = pr . read ()) != - 1 ) { System . out . print (( char ) charRead ); } // Close the PushbackReader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Излаз
Hello World!
2. ПусхбацкРеадер (читач пусх инт величина): Овај конструктор нам омогућава да одредимо величину бафера за враћање
Синтакса:
публиц ПусхбацкРеадер (читач пусх инт величина)
Пример:
Java // Demonstrating the working // of PushbackReader(Reader push int size) import java.io.* ; public class Geeks { public static void main ( String [] args ) { // String to be read String s = 'Hello World!' ; // Create a StringReader to read from the string StringReader sr = new StringReader ( s ); // Create a PushbackReader with the StringReader // and a specified buffer size of 20 PushbackReader pr = new PushbackReader ( sr 20 ); try { // Read and print characters int charRead ; while (( charRead = pr . read ()) != - 1 ) { System . out . print (( char ) charRead ); } // Close the PushbackReader pr . close (); } catch ( IOException e ) { e . printStackTrace (); } } }
Излаз
Hello World!
Јава ПусхбацкРеадер методе
Слика испод показује методе класе ЦхарАрраиВритер.
Сада ћемо детаљно разговарати о свакој методи један по један:
1. реад(): Овај метод се користи за читање једног по једног знака из тока
Синтакса:
публиц инт реад()
- Параметар: Овај метод не узима ниједан параметар.
- Тип повратка: Овај метод враћа знак прочитан као цео број или враћа -1 када се достигне крај тока.
2. реад(цхар[] царраи инт оффсет инт маклен): Овај метод се користи за читање комада знакова.
Синтакса:
публиц инт реад(цхар[] царраи инт оффсет инт маклен)
- Параметар: Овај метод укључује три параметра која су наведена у наставку
- цхар[] царраи: То је низ знакова где ће бити прочитани знакови ускладиштено.
- инт оффсет: То је почетна позиција у низу
- инт маклен: То је максималан број знакова за читање.
- Тип повратка: Овај метод враћа број прочитаних знакова
3. затвори(): Овај метод се користи за затварање читача
Синтакса:
публиц воид цлосе()
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод не враћа ништа.
4. марк(инт реадАхеадЛимит): Овај метод се користи за означавање тренутне позиције у стриму
Синтакса:
јавна ознака неважеће (инт реадАхеадЛимит)
- Параметар: Овај метод укључује један параметар реадАхеадЛимит који одређује максималан број знакова који се могу прочитати пре него што позиција ознаке постане неважећа.
- Тип повратка: Овај метод не враћа ништа
5. прескочи (дуго н): Овај метод се користи за прескакање одређеног броја знакова.
Синтакса:
јавно дуго прескочи (дуго н)
- Параметар: Овај метод укључује један параметар дугачак н који представља број знакова које треба прескочити у току.
- Тип повратка: Овај метод враћа број знакова који је прескочен
6. ресет(): Овај метод се користи за повратак на позицију на којој је позван марк().
Синтакса:
јавно ресетовање празнине ()
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод не враћа ништа
7. маркСуппортед(): Овај метод говори да ли ток подржава означавање или не
Синтакса:
јавна логичка ознакаПодржана()
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод враћа нетачно јер означавање није подржано.
8. спреман(): Овај метод проверава да ли је стрим спреман за читање или не.
Синтакса:
јавни боолеан реади()
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод враћа труе ако је стрим спреман.
9. непрочитано (инт ц): Овај метод се користи за враћање карактера у ток.
Синтакса:
јавна празнина непрочитано (инт ц)
- Параметар: Овај метод узима један параметар ц, који је карактер који се враћа назад у ток.
- Тип повратка: Овај метод не враћа ништа.
10. унреад(цхар[] царраи): Овај метод се користи за гурање низа знакова назад у ток.
Синтакса:
јавна празнина непрочитана (цхар[] царраи)
- Параметар: Овај метод узима низ знакова који се враћају у ток.
- Тип повратка: Овај метод не враћа ништа.
Јава програм за демонстрацију ПусхбацкРеадер метода
Пример:
Java // Demonstrating the working // of methods of PushbackReader class import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { String s = 'GeeksForGeeks' ; StringReader sr = new StringReader ( s ); PushbackReader pr = new PushbackReader ( sr ); // Check if the stream is ready System . out . println ( 'Is the stream ready? ' + pr . ready ()); // Use read() and skip() System . out . print ( 'Using read() and skip(): ' ); for ( int i = 0 ; i < 3 ; i ++ ) { char c = ( char ) pr . read (); // Read 1 char System . out . print ( c ); pr . skip ( 1 ); // Skip next char } char c = ( char ) pr . read (); // read next char after 3 skip cycles System . out . print ( c ); // Now read() with array – only 1 char expected char [] arr = new char [ 1 ] ; pr . read ( arr ); System . out . println ( 'nUsing read() with an array: ' + new String ( arr )); // Unread and read back pr . unread ( 'F' ); char nextChar = ( char ) pr . read (); System . out . println ( 'After unread() the next character: ' + nextChar ); // Close the reader pr . close (); } }
Излаз
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FКреирај квиз