Јава ПипедРеадер Цласс
Тхе Класа ПипедРеадер у Јави је део јава.ио пакет и користи се за читање знаковних података из цеви. Ова класа дозвољава комуникацију између нити где једна нит записује податке користећи ПипедВритер, а друга их чита користећи ПипедРеадер.
Карактеристике класе ПипедРеадер:
- Омогућава читање података кроз цев.
- Користи бафер за складиштење података примљених од ПипедВритер-а.
- Ради са ПипедВритер-ом како би се осигурало да се подаци безбедно преносе између нити.
- Ако се цев поквари, јавља се грешка.
Шта је цев у Јави?
У Јави се цев користи за повезивање две нити. Једна нит се користи за слање података кроз цев, а друга нит чита податке. Ако се нит која шаље податке заустави или сруши, сматра се да је цев прекинута.
Декларација класе ПипедРеадер
Декларација класе ПипедРеадер је:
јавна класа ПипедРеадер проширује Реадер
Сви имплементирани интерфејси:
- Затварање: Овај интерфејс се користи за затварање тока и ослобађање ресурса када више нису потребни.
- АутоЦлосеабле: Овај интерфејс омогућава аутоматско управљање ресурсима у изјавама три-витх-ресоурцес.
- Читљиво: Овај интерфејс омогућава читање података из тока.
Конструктори ПипедРеадер-а
Ова класа се састоји од четири конструктора уз помоћ којих можемо креирати објекат ове класе на различите начине. Следећи су конструктори доступни у овој класи:
1. ПипедРеадер(): Овај конструктор креира ПипедРеадер који још није повезан ни са једним писцем.
Синтакса:
јавни ПипедРеадер()
2. ПипедРеадер(инт пипеСизе): Овај конструктор креира аПипедРЕадер са наведеном величином цеви.
Синтакса:
јавни ПипедРеадер(инт пСизе)
3. ПипедРеадер(ПипедВритер срц): Овај конструктор креира ПипедРеадер који је повезан са ПипедВритерСтреам срц.
јавни ПипедРеадер(ПипедВритер срц)
4. ПипедРеадер(ПипедВритер срц инт пипеСизе): Овај конструктор креира повезани ПипедРеадер са наведеном величином и повезан са датим ПипедВритер-ом.
Синтакса:
публиц ПипедРеадер(ПипедВритер срц инт пСизе)
Јава ПипедРеадерМетходс
Слика испод показује методе класе ПипедРеадер.
Сада ћемо детаљно разговарати о свакој методи један по један:
1. реад(): Овај метод се користи за добијање следећег карактера из ПипедРеадер-а. Блокира се све док нема података за читање или дође до грешке.
Синтакса:
публиц инт реад() избацује ИОЕкцептион
- Параметар: Овај метод не узима ниједан параметар.
- Тип повратка: Овај метод враћа следећи знак као цео број или враћа -1 ако се достигне крај тока.
Пример:
Java // Demonstrating the working // of read() method import java.io.* ; public class GeeKs { public static void main ( String [] args ) throws IOException { PipedReader r = new PipedReader (); PipedWriter w = new PipedWriter (); // Connect the reader and writer r . connect ( w ); // Write data to the PipedWriter w . write ( 71 ); System . out . println ( 'Read: ' + ( char ) r . read ()); w . write ( 69 ); System . out . println ( 'Read: ' + ( char ) r . read ()); w . write ( 75 ); System . out . println ( 'Read: ' + ( char ) r . read ()); } }
Излаз
Read: G Read: E Read: K
2. реад(цхар[] царраи инт оффсет инт маклен): Овај метод се користи за читање до маклен карактера из ПипедРеадер Стреам-а у низ знакова. Метод се блокира ако се достигне крај стрима или се избаци изузетак.
Синтакса:
публиц инт реад(цхар[] царраи инт оффсет инт маклен) избацује ИОЕкцептион
- Параметар: Овај метод укључује три параметра која су наведена у наставку:
- носи: То је бафер у који ће се подаци читати.
- офсет: То је почетна позиција у низу
- маклен: Максималан број знакова који се читају у низу.
- Тип повратка: Овај метод враћа максималне бајтове података као целобројну вредност или враћа -1 ако је крај тока достигнут
Пример:
Java // Demonstrating the working // of read(char[] carray int offset int maxlen) import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { PipedReader r = new PipedReader (); PipedWriter w = new PipedWriter (); r . connect ( w ); // Write data to PipedWriter w . write ( 71 ); // G w . write ( 69 ); // E w . write ( 75 ); // K w . write ( 83 ); // S // Read data into an array char [] b = new char [ 5 ] ; r . read ( b 0 5 ); System . out . print ( 'Read characters: ' ); for ( char c : b ) { System . out . print ( c ); } } }
Излаз
Read characters: GEKS
3. затвори(): Овај метод се користи за затварање ПипедРеадер-а.
Синтакса:
публиц воид цлосе() избацује ИОЕкцептион
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод не враћа ништа
Пример:
Java // Demonstrating the working // of close() method import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { PipedReader r = new PipedReader (); PipedWriter w = new PipedWriter (); r . connect ( w ); w . write ( 71 ); // Close the reader r . close (); System . out . println ( 'Stream closed.' ); } }
Излаз
Stream closed.
4. спреман(): Овај метод се користи за проверу да ли је стрим спреман за читање.
Синтакса:
публиц боолеан реади() избацује ИОЕкцептион
- Параметар: Овај метод не узима ниједан параметар
- Тип повратка: Овај метод враћа тачно ако је стрим спреман за читање, иначе враћа нетачно.
Пример:
Java // Demonstrating the working // of ready() method import java.io.* ; public class Geeks { public static void main ( String [] args ) throws IOException { PipedReader r = new PipedReader (); PipedWriter w = new PipedWriter (); r . connect ( w ); w . write ( 71 ); // Check if the stream is ready to be read System . out . println ( 'Stream is ready to be read: ' + r . ready ()); } }
Излаз
Stream is ready to be read: true
5. затвори(): Овај метод се користи за затварање ПипедРеадер токова.
Синтакса:
публиц воид цлосе()
- Параметар: Овај метод не узима ниједан параметар.
- Тип повратка: Овај метод не враћа ништа.
Пример:
Java // Demonstrating the working // of close() method import java.io.* ; public class Geeks { public static void main ( String [] args ) { try { // Create a PipedReader and PipedWriter PipedReader r = new PipedReader (); PipedWriter w = new PipedWriter (); // Connect the PipedReader to the PipedWriter r . connect ( w ); // Write a character to the PipedWriter w . write ( 'A' ); // Read and print the character from the PipedReader System . out . println ( 'Read: ' + ( char ) r . read ()); // Output: A // Close the PipedReader stream r . close (); System . out . println ( 'Stream closed.' ); } catch ( IOException e ) { e . printStackTrace (); } } }
Излаз
Read: A Stream closed.Креирај квиз