logo

Razred Java PipedReader

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.

Razred io.PipedReader v Javi' title=


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 java
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);   }  } } 

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