Java PipedReader klasė

Java PipedReader klasė

The „PipedReader“ klasė „Java“. yra dalis java.io paketą ir jis naudojamas simbolių duomenims nuskaityti iš vamzdžio. Ši klasė leidžia bendrauti tarp gijų, kai viena gija įrašo duomenis naudodama PipedWriter, o kita skaito juos naudodama PipedReader.

„PipedReader“ klasės savybės:

  • Tai leidžia nuskaityti duomenis per vamzdį.
  • Jis naudoja buferį duomenims, gautiems iš PipedWriter, saugoti.
  • Jis veikia su PipedWriter, kad įsitikintų, jog duomenys saugiai perduodami tarp gijų.
  • Jei vamzdis lūžta, tai rodo klaidą.

Kas yra vamzdis Java?

Java programoje vamzdis naudojamas dviem gijomis susieti. Vienas siūlas naudojamas duomenims siųsti vamzdžiu, o kitas sriegis nuskaito duomenis. Jei sriegis, siunčiantis duomenis, sustoja arba sugenda, vamzdis laikomas nutrūkusiu.

PipedReader klasės deklaracija

„PipedReader“ klasės deklaracija yra tokia:

viešoji klasė „PipedReader“ išplečia „Reader“.

Visos įdiegtos sąsajos:

  • Užsidaro: Ši sąsaja naudojama norint uždaryti srautą ir išleisti išteklius, kai jų nebereikia.
  • Automatinis uždarymas: Ši sąsaja leidžia automatiškai valdyti išteklius bandant išteklius.
  • Skaitoma: Ši sąsaja leidžia nuskaityti duomenis iš srauto.

PipedReader konstruktoriai

Šią klasę sudaro keturi konstruktoriai, kurių pagalba galime sukurti šios klasės objektą įvairiais būdais. Šioje klasėje galimi šie konstruktoriai:

1. PipedReader(): Šis konstruktorius sukuria PipedReader, kuris dar nesusietas su jokiu rašytoju.

Sintaksė:

viešas PipedReader()


2. PipedReader (int pipeSize): Šis konstruktorius sukuria aPipedREader su nurodytu vamzdžio dydžiu.

Sintaksė:

viešas PipedReader (int pSize)


3. „PipedReader“ („PipedWriter src“): Šis konstruktorius sukuria PipedReader, kuris yra prijungtas prie PipedWriterStream src.

viešasis „PipedReader“ („PipedWriter src“)


4. „PipedReader“ („PipedWriter src int pipeSize“): Šis konstruktorius sukuria prijungtą nurodyto dydžio PipedReader, susietą su nurodytu PipedWriter.

Sintaksė:

viešasis PipedReader (PipedWriter src int pSize)


Java PipedReaderMethods

Žemiau esančiame paveikslėlyje pavaizduoti PipedReader klasės metodai.

io.PipedReader klasė Java


Dabar mes išsamiai aptarsime kiekvieną metodą po vieną:

1. skaityti (): Šis metodas naudojamas norint gauti kitą simbolį iš PipedReader. Jis blokuojamas, kol nėra duomenų, kuriuos reikia nuskaityti, arba įvyksta klaida.

Sintaksė:

public int read() meta IOException

  • Parametras: Šis metodas nereikalauja jokių parametrų.
  • Grąžinimo tipas: Šis metodas grąžina kitą simbolį kaip sveikąjį skaičių arba grąžina -1, jei pasiekiama srauto pabaiga.

Pavyzdys:

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

Išvestis
Read: G Read: E Read: K  


2. skaityti(char[] carray int offset int maxlen): Šis metodas naudojamas iki maksimalaus simbolio nuskaitymui iš PipedReader Stream į simbolių masyvą. Metodas blokuoja, jei pasiekiamas srauto pabaiga arba taikoma išimtis.

Sintaksė:

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

  • Parametras: Šis metodas apima tris toliau išvardytus parametrus:
    • carray: Tai buferis, į kurį bus nuskaitomi duomenys.
    • kompensuoti: Tai yra pradinė padėtis masyve
    • Maxlen: Didžiausias masyve nuskaitomų simbolių skaičius.
  • Grąžinimo tipas: Šis metodas grąžina daugiausiai duomenų baitų kaip sveikojo skaičiaus reikšmę arba grąžina -1, kai pasiekiamas srauto pabaiga

Pavyzdys:

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

Išvestis
Read characters: GEKS 


3. uždaryti (): Šis metodas naudojamas PipedReader uždaryti.

Sintaksė:

public void close() meta IOException

  • Parametras: Šis metodas nereikalauja jokių parametrų
  • Grąžinimo tipas: Šis metodas nieko negrąžina

Pavyzdys:

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

Išvestis
Stream closed.  


4. paruošta(): Šis metodas naudojamas norint patikrinti, ar srautas paruoštas skaityti.

Sintaksė:

public boolean ready() meta IOException

  • Parametras: Šis metodas nereikalauja jokių parametrų
  • Grąžinimo tipas: Šis metodas grąžina teisingą, jei srautas yra paruoštas skaityti, priešingu atveju jis pateikia klaidingą.

Pavyzdys:

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

Išvestis
Stream is ready to be read: true  


5. uždaryti (): Šis metodas naudojamas PipedReader srautams uždaryti.

Sintaksė:

vieša galia uždaryti ()

  • Parametras: Šis metodas nereikalauja jokių parametrų.
  • Grąžinimo tipas: Šis metodas nieko negrąžina.

Pavyzdys:

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

Išvestis
Read: A Stream closed.  
Sukurti viktoriną