Тхе Класа ПипедРеадер у Јави је део јава.ио пакет и користи се за читање знаковних података из цеви. Ова класа дозвољава комуникацију између нити где једна нит записује податке користећи ПипедВритер, а друга их чита користећи ПипедРеадер.
Карактеристике класе ПипедРеадер:
- Омогућава читање података кроз цев.
- Користи бафер за складиштење података примљених од ПипедВритер-а.
- Ради са ПипедВритер-ом како би се осигурало да се подаци безбедно преносе између нити.
- Ако се цев поквари, јавља се грешка.
Шта је цев у Јави?
У Јави се цев користи за повезивање две нити. Једна нит се користи за слање података кроз цев, а друга нит чита податке. Ако се нит која шаље податке заустави или сруши, сматра се да је цев прекинута.
Декларација класе ПипедРеадер
Декларација класе ПипедРеадер је:
јавна класа ПипедРеадер проширује Реадер
Сви имплементирани интерфејси:
- Затварање: Овај интерфејс се користи за затварање тока и ослобађање ресурса када више нису потребни.
- АутоЦлосеабле: Овај интерфејс омогућава аутоматско управљање ресурсима у изјавама три-витх-ресоурцес.
- Читљиво: Овај интерфејс омогућава читање података из тока.
Конструктори ПипедРеадер-а
Ова класа се састоји од четири конструктора уз помоћ којих можемо креирати објекат ове класе на различите начине. Следећи су конструктори доступни у овој класи:
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.Креирај квиз