The Razred PipedReader v Javi je del java.io paket in se uporablja za branje znakovnih podatkov iz cevi. Ta razred omogoča komunikacijo med nitmi, kjer ena nit piše podatke z uporabo PipedWriter, druga pa jih bere z uporabo PipedReader.
Lastnosti razreda PipedReader:
- Omogoča branje podatkov skozi cev.
- Uporablja medpomnilnik za shranjevanje podatkov, prejetih iz PipedWriter.
- Deluje s PipedWriter, da zagotovi varen prenos podatkov med nitmi.
- Če se cev zlomi, se prikaže napaka.
Kaj je cev v Javi?
V Javi se za povezavo dveh niti uporablja cev. Ena nit se uporablja za pošiljanje podatkov skozi cev, druga nit pa podatke bere. Če se nit, ki pošilja podatke, ustavi ali se zruši, se šteje, da je cev prekinjena.
Deklaracija razreda PipedReader
Deklaracija razreda PipedReader je:
javni razred PipedReader razširja Reader
Vsi implementirani vmesniki:
algoritem za binarno iskanje
- Zapiranje: Ta vmesnik se uporablja za zapiranje toka in sprostitev virov, ko niso več potrebni.
- Samodejno zapiranje: Ta vmesnik omogoča samodejno upravljanje virov v stavkih poskusi z viri.
- Berljivo: Ta vmesnik omogoča branje podatkov iz toka.
Konstruktorji PipedReaderja
Ta razred je sestavljen iz štirih konstruktorjev, s pomočjo katerih lahko na različne načine ustvarimo objekt tega razreda. V tem razredu so na voljo naslednji konstruktorji:
1. PipedReader(): Ta konstruktor ustvari PipedReader, ki še ni povezan z nobenim zapisovalnikom.
Sintaksa:
javni PipedReader()
2. PipedReader(int pipeSize): Ta konstruktor ustvari aPipedReader z določeno velikostjo cevi.
Sintaksa:
public PipedReader(int pSize)
3. PipedReader (PipedWriter src): Ta konstruktor ustvari PipedReader, ki je povezan s PipedWriterStream src.
javni PipedReader(PipedWriter src)
4. PipedReader(PipedWriter src int pipeSize): Ta konstruktor ustvari povezani PipedReader z določeno velikostjo in povezan z danim PipedWriterjem.
Sintaksa:
javni PipedReader(PipedWriter src int pSize)
Java PipedReaderMethods
Spodnja slika prikazuje metode razreda PipedReader.

Zdaj bomo podrobno razpravljali o vsaki metodi posebej:
1. preberi(): Ta metoda se uporablja za pridobivanje naslednjega znaka iz PipedReaderja. Blokira se, dokler ni podatkov za branje ali pride do napake.
Sintaksa:
java skener naslednji
public int read() vrže izjemo IOException
- Parameter: Ta metoda ne zajema nobenega parametra.
- Vrsta vračila: Ta metoda vrne naslednji znak kot celo število ali vrne -1, če je dosežen konec toka.
primer:
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()); } }
Izhod
Read: G Read: E Read: K
2. read(char[] carray int offset int maxlen): Ta metoda se uporablja za branje do maxlen znakov iz toka PipedReader v matriko znakov. Metoda se blokira, če je dosežen konec toka ali vržena izjema.
Sintaksa:
public int read(char[] carray int offset int maxlen) vrže IOException
- Parameter: Ta metoda vključuje tri parametre, ki so navedeni spodaj:
- carray: Je medpomnilnik, v katerega bodo prebrani podatki.
- odmik: Je začetni položaj v nizu
- maxlen: Največje število znakov, ki jih je treba prebrati v matriko.
- Vrsta vračila: Ta metoda vrne maxlen bajtov podatkov kot celoštevilsko vrednost ali vrne -1, če je dosežen konec toka
primer:
niz n javaJava
// 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); } } }
Izhod
Read characters: GEKS
3. zapri(): Ta metoda se uporablja za zapiranje PipedReaderja.
Sintaksa:
public void close() vrže izjemo IOException
- Parameter: Ta metoda ne zajema nobenega parametra
- Vrsta vračila: Ta metoda ne vrne ničesar
primer:
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.'); } }
Izhod
Stream closed.
4. pripravljen(): Ta metoda se uporablja za preverjanje, ali je tok pripravljen za branje.
Sintaksa:
- Parameter: Ta metoda ne zajema nobenega parametra
- Vrsta vračila: Ta metoda vrne true, če je tok pripravljen za branje, sicer vrne false.
primer:
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()); } }
Izhod
Stream is ready to be read: true
5. zapri(): Ta metoda se uporablja za zapiranje tokov PipedReader.
Sintaksa:
public void close()
- Parameter: Ta metoda ne zajema nobenega parametra.
- Vrsta vračila:
primer:
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(); } } }
Izhod
Read: A Stream closed.Ustvari kviz