logo

Klasa Java PipedReader

The Klasa PipedReader u Javi je dio java.io paket i koristi se za čitanje znakovnih podataka iz cijevi. Ova klasa omogućuje komunikaciju između niti gdje jedna nit zapisuje podatke pomoću PipedWriter-a, a druga ih čita pomoću PipedReader.

Značajke klase PipedReader:

  • Omogućuje čitanje podataka kroz cijev.
  • Koristi međuspremnik za pohranu podataka primljenih od PipedWritera.
  • Radi s PipedWriterom kako bi osigurao siguran prijenos podataka između niti.
  • Ako cijev pukne, javlja se pogreška.

Što je Pipe u Javi?

U Javi se cijev koristi za povezivanje dvije niti. Jedna se nit koristi za slanje podataka kroz cjevovod, a druga nit čita podatke. Ako nit koja šalje podatke stane ili se sruši, smatra se da je cijev prekinuta.



Deklaracija klase PipedReader

Deklaracija klase PipedReader je:

javna klasa PipedReader proširuje Reader

Sva implementirana sučelja:

  • Može se zatvoriti: Ovo se sučelje koristi za zatvaranje toka i oslobađanje resursa kada više nisu potrebni.
  • Automatsko zatvaranje: Ovo sučelje omogućuje automatsko upravljanje resursima u izjavama try-with-resources.
  • Čitljiv: Ovo sučelje omogućuje čitanje podataka iz toka.

Konstruktori PipedReadera

Ova klasa se sastoji od četiri konstruktora uz pomoć kojih objekt ove klase možemo kreirati na različite načine. Sljedeći su konstruktori dostupni u ovoj klasi:

1. PipedReader(): Ovaj konstruktor stvara PipedReader koji još nije povezan ni s jednim programom za pisanje.

Sintaksa:

javni PipedReader()


2. PipedReader(int Veličina cijevi): Ovaj konstruktor stvara PipedReader s određenom veličinom cijevi.

Sintaksa:

string formatter

javni PipedReader(int pSize)


3. PipedReader(PipedWriter src): Ovaj konstruktor stvara PipedReader koji je povezan s PipedWriterStream src.

javni PipedReader(PipedWriter src)


4. PipedReader(PipedWriter src int pipeSize): Ovaj konstruktor stvara povezani PipedReader s određenom veličinom i povezan s danim PipedWriterom.

Sintaksa:

javni PipedReader(PipedWriter src int pSize)


Java PipedReaderMethods

Slika ispod pokazuje metode klase PipedReader.

io.PipedReader Klasa u Javi' title=


Sada ćemo detaljno razmotriti svaku metodu jednu po jednu:

1. čitaj(): Ova se metoda koristi za dobivanje sljedećeg znaka iz PipedReader-a. Blokira se sve dok nema podataka za čitanje ako se ne pojavi pogreška.

Sintaksa:

što je abecedni broj

public int read() izbacuje IOException

  • Parametar: Ova metoda ne uzima nikakve parametre.
  • Vrsta povrata:

Primjer:

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

Izlaz
Read: G Read: E Read: K 


2. read(char[] carray int offset int maxlen): Ova se metoda koristi za čitanje do maxlen znakova iz PipedReader Stream-a u niz znakova. Metoda se blokira ako se dosegne kraj streama ili se izbaci iznimka.

Sintaksa:

public int read(char[] carray int offset int maxlen) izbacuje IOException

  • Parametar: Ova metoda uključuje tri parametra koji su navedeni u nastavku:
    • Carray: To je međuspremnik u koji će se podaci čitati.
    • pomak:
    • maxlen: Maksimalni broj znakova koji se mogu pročitati u nizu.
  • Vrsta povrata: Ova metoda vraća maxlen bajtova podataka kao cjelobrojnu vrijednost ili vraća -1 ako je dosegnut kraj toka

Primjer:

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

Izlaz
Read characters: GEKS


3. zatvori(): Ova se metoda koristi za zatvaranje PipedReader-a.

Sintaksa:

public void close() izbacuje IOException

  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda ne vraća ništa

Primjer:

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.');  } } 

Izlaz
Stream closed. 


4. spreman():

Sintaksa:

public boolean ready() izbacuje IOException

  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda vraća true ako je tok spreman za čitanje, inače vraća false.

Primjer:

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

Izlaz
Stream is ready to be read: true 


5. zatvori(): Ova se metoda koristi za zatvaranje tokova PipedReader.

Sintaksa:

public void close()

datoteka za promjenu linuxa
  • Parametar: Ova metoda ne uzima nikakve parametre.
  • Vrsta povrata: Ova metoda ne vraća ništa.

Primjer:

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

Izlaz
Read: A Stream closed. 
Napravi kviz