logo

Java PipedReader-klass

De PipedReader-klass i Java är en del av java.io paketet och det används för att läsa teckendata från en pipe. Denna klass tillåter kommunikation mellan trådar där en tråd skriver data med en PipedWriter och en annan läser den med hjälp av PipedReader.

Funktioner i PipedReader Class:

  • Det tillåter läsning av data genom ett rör.
  • Den använder en buffert för att lagra data som tas emot från PipedWriter.
  • Det fungerar med PipedWriter för att säkerställa att data överförs säkert mellan trådar.
  • Om röret går sönder ger det ett fel.

Vad är ett rör i Java?

I Java används ett rör för att länka två trådar. En tråd används för att skicka data genom röret och den andra tråden läser data. Om tråden som skickar data stannar eller kraschar anses röret vara trasigt.



Deklaration av PipedReader Class

Deklarationen för PipedReader-klassen är:

public class PipedReader utökar Reader

Alla implementerade gränssnitt:

  • Stängbar: Detta gränssnitt används för att stänga strömmen och frigöra resurser när de inte längre behövs.
  • Autostängbar: Detta gränssnitt tillåter automatisk resurshantering i prova-med-resurser-satser.
  • Läsbar: Detta gränssnitt gör att data kan läsas från strömmen.

Konstruktörer av PipedReader

Denna klass består av fyra konstruktorer med hjälp av vilka vi kan skapa objekt av denna klass på olika sätt. Följande är de konstruktörer som finns tillgängliga i den här klassen:

1. PipedReader(): Den här konstruktören skapar en PipedReader som inte är ansluten till någon skribent ännu.

Syntax:

public PipedReader()


2. PipedReader(int pipeSize): Denna konstruktör skapar aPipedREader med en specificerad rörstorlek.

Syntax:

public PipedReader(int pSize)


3. PipedReader(PipedWriter src): Denna konstruktor skapar en PipedReader som är ansluten till PipedWriterStream src.

public PipedReader(PipedWriter src)


4. PipedReader(PipedWriter src int pipeSize): Denna konstruktor skapar en ansluten PipedReader med en specificerad storlek och länkad till den givna PipedWriter.

Syntax:

public PipedReader(PipedWriter src int pSize)


grunderna i java

Java PipedReaderMethods

Bilden nedan visar metoderna i klassen PipedReader.

io.PipedReader Class i Java' title=


Nu ska vi diskutera varje metod en efter en i detalj:

1. läs(): Denna metod används för att hämta nästa tecken från PipedReader. Den blockerar tills det finns data att läsa om ett fel inträffar.

Syntax:

public int read() kastar IOException

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar nästa tecken som ett heltal eller returnerar -1 om slutet av strömmen nås.

Exempel:

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

Produktion
Read: G Read: E Read: K 


2. read(char[] carray int offset int maxlen): Denna metod används för att läsa upp till maxlen-tecken från PipedReader Stream till teckenuppsättningen. Metoden blockerar om slutet av Stream nås eller undantag kastas.

Syntax:

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

  • Parameter: Denna metod inkluderar tre parametrar som listas nedan:
    • bära: Det är bufferten som data kommer att läsas in i.
    • offset: Det är startpositionen i arrayen
    • maxlen: Det maximala antalet tecken som ska läsas in i arrayen.
  • Returtyp: Denna metod returnerar maxlen byte av data som ett heltalsvärde eller returnera -1 när slutet av strömmen nås

Exempel:

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

Produktion
Read characters: GEKS


mylivecricket in för live cricket

3. stäng(): Denna metod används för att stänga PipedReader.

Syntax:

public void close() kastar IOException

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar ingenting

Exempel:

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

Produktion
Stream closed. 


4. redo(): Denna metod används för att kontrollera om strömmen är redo att läsas.

Syntax:

public boolean ready() kastar IOException

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar true om strömmen är redo att läsas annars returnerar den falskt.

Exempel:

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

Produktion
Stream is ready to be read: true 


5. stäng(): Denna metod används för att stänga PipedReader-strömmarna.

Syntax:

public void close()

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar ingenting.

Exempel:

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

Produktion
Read: A Stream closed. 
Skapa frågesport