logo

Classe Java PipedReader

El Classe PipedReader en Java forma part de la java.io paquet i s'utilitza per llegir dades de caràcters d'una canalització. Aquesta classe permet la comunicació entre fils on un fil escriu dades amb un PipedWriter i un altre les llegeix utilitzant PipedReader.

Característiques de la classe PipedReader:

  • Permet la lectura de dades a través d'una canonada.
  • Utilitza un buffer per emmagatzemar les dades rebudes del PipedWriter.
  • Funciona amb PipedWriter per assegurar-se que les dades es transfereixen de manera segura entre fils.
  • Si la canonada es trenca, genera un error.

Què és un Pipe a Java?

A Java s'utilitza una canonada per enllaçar dos fils. Un fil s'utilitza per enviar dades a través de la canonada i l'altre fil llegeix les dades. Si el fil que envia les dades s'atura o es bloqueja, es considera que la canonada està trencada.



Declaració de la classe PipedReader

La declaració de la classe PipedReader és:

La classe pública PipedReader amplia Reader

Totes les interfícies implementades:

  • Tancable: Aquesta interfície s'utilitza per tancar el flux i alliberar recursos quan ja no es necessiten.
  • Tancament automàtic: Aquesta interfície permet la gestió automàtica de recursos en declaracions de prova amb recursos.
  • Llegible: Aquesta interfície permet llegir dades del flux.

Constructors de PipedReader

Aquesta classe consta de quatre constructors amb l'ajuda dels quals podem crear objecte d'aquesta classe de diferents maneres. Els constructors disponibles en aquesta classe són els següents:

1. PipedReader(): Aquest constructor crea un PipedReader que encara no està connectat a cap escriptor.

Sintaxi:

Public PipedReader()


2. PipedReader(int pipeSize): Aquest constructor crea aPipedREader amb una mida de canonada especificada.

Sintaxi:

Public PipedReader(int pSize)


3. PipedReader(PipedWriter src): Aquest constructor crea un PipedReader que està connectat al PipedWriterStream src.

llista de làtex

Public PipedReader (PipedWriter src)


4. PipedReader(PipedWriter src int pipeSize): Aquest constructor crea un PipedReader connectat amb una mida especificada i enllaçat al PipedWriter donat.

Sintaxi:

public PipedReader (PipedWriter src int pSize)


Java PipedReaderMethods

La imatge següent mostra els mètodes de la classe PipedReader.

Classe io.PipedReader a Java' title=


Ara parlarem de cada mètode un per un en detall:

1. llegir(): Aquest mètode s'utilitza per obtenir el següent caràcter del PipedReader. Es bloqueja fins que hi ha dades per llegir o es produeix un error.

Sintaxi:

emet una cadena com int

public int read() llança IOException

  • Paràmetre: Aquest mètode no pren cap paràmetre.
  • Tipus de retorn: Aquest mètode retorna el caràcter següent com a nombre enter o retorna -1 si s'arriba al final del flux.

Exemple:

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

Sortida
Read: G Read: E Read: K 


2. llegir(char[] carray int offset int maxlen): Aquest mètode s'utilitza per llegir fins a un màxim de caràcters de PipedReader Stream a la matriu de caràcters. El mètode bloqueja si s'arriba al final del flux o es llança una excepció.

Sintaxi:

public int read(char[] carray int offset int maxlen) llança IOException

  • Paràmetre: Aquest mètode inclou tres paràmetres que s'enumeren a continuació:
    • carray: És el buffer on es llegiran les dades.
    • compensació: És la posició inicial de la matriu
    • maxlen: El nombre màxim de caràcters que es poden llegir a la matriu.
  • Tipus de retorn: Aquest mètode retorna maxlen bytes de dades com a valor enter o retorna -1 si s'arriba al final del flux

Exemple:

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

Sortida
Read characters: GEKS


3. tancar(): Aquest mètode s'utilitza per tancar el PipedReader.

Sintaxi:

public void close() llança IOException

char a nombre enter java
  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode no retorna res

Exemple:

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

Sortida
Stream closed. 


4. llest(): Aquest mètode s'utilitza per comprovar si el flux està llest per ser llegit.

Sintaxi:

public boolean ready() llança IOException

  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode retorna true si el flux està llest per ser llegit, en cas contrari, retorna false.

Exemple:

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

Sortida
Stream is ready to be read: true 


5. tancar(): Aquest mètode s'utilitza per tancar els fluxos de PipedReader.

Sintaxi:

buit públic tancar()

  • Paràmetre: Aquest mètode no pren cap paràmetre.
  • Tipus de retorn: Aquest mètode no retorna res.

Exemple:

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

Sortida
Read: A Stream closed. 
Crea un qüestionari