Java PipedReader klase

Java PipedReader klase

The PipedReader klase Java valodā ir daļa no java.io pakotni, un to izmanto rakstzīmju datu nolasīšanai no caurules. Šī klase nodrošina starppavedienu saziņu, kur viens pavediens ieraksta datus, izmantojot PipedWriter, bet otrs tos nolasa, izmantojot PipedReader.

PipedReader klases iezīmes:

  • Tas ļauj nolasīt datus caur cauruli.
  • Tas izmanto buferi, lai saglabātu datus, kas saņemti no PipedWriter.
  • Tas darbojas ar PipedWriter, lai pārliecinātos, ka dati tiek droši pārsūtīti starp pavedieniem.
  • Ja caurule saplīst, tiek parādīta kļūda.

Kas ir caurule Java valodā?

Java, lai savienotu divus pavedienus, tiek izmantota caurule. Viens pavediens tiek izmantots, lai nosūtītu datus caur cauruli, un otrs pavediens nolasa datus. Ja pavediens, kas sūta datus, apstājas vai avarē, tiek uzskatīts, ka caurule ir bojāta.

PipedReader klases deklarācija

PipedReader klases deklarācija ir:

publiskā klase PipedReader paplašina Reader

Visas ieviestās saskarnes:

  • Aizverams: Šī saskarne tiek izmantota, lai aizvērtu straumi un atbrīvotu resursus, kad tie vairs nav nepieciešami.
  • Automātiski aizverams: Šī saskarne nodrošina automātisku resursu pārvaldību izmēģināšanas ar resursiem paziņojumos.
  • Lasāms: Šī saskarne ļauj nolasīt datus no straumes.

PipedReader konstruktori

Šī klase sastāv no četriem konstruktoriem, ar kuru palīdzību mēs varam dažādos veidos izveidot šīs klases objektu. Šajā klasē ir pieejami šādi konstruktori:

1. PipedReader(): Šis konstruktors izveido PipedReader, kas vēl nav savienots ar nevienu rakstītāju.

Sintakse:

publiskais PipedReader()


2. PipedReader (int pipeSize): Šis konstruktors izveido aPipedREader ar noteiktu caurules izmēru.

Sintakse:

publiskais PipedReader (int pSize)


3. PipedReader (PipedWriter src): Šis konstruktors izveido PipedReader, kas ir savienots ar PipedWriterStream src.

publiskais PipedReader (PipedWriter src)


4. PipedReader (PipedWriter src int pipeSize): Šis konstruktors izveido savienotu PipedReader ar noteiktu izmēru un ir saistīts ar doto PipedWriter.

Sintakse:

publiskais PipedReader (PipedWriter src int pSize)


Java PipedReaderMethods

Zemāk esošajā attēlā ir parādītas PipedReader klases metodes.

io.PipedReader klase Java valodā


Tagad mēs detalizēti apspriedīsim katru metodi pa vienam:

1. lasīt (): Šo metodi izmanto, lai iegūtu nākamo rakstzīmi no PipedReader. Tas tiek bloķēts, līdz ir nolasāmi dati, vai rodas kļūda.

Sintakse:

public int read() izmet IOException

  • Parametrs: Šī metode neņem nekādus parametrus.
  • Atgriešanas veids: Šī metode atgriež nākamo rakstzīmi kā veselu skaitli vai atgriež -1, ja tiek sasniegts straumes beigas.

Piemērs:

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

Izvade
Read: G Read: E Read: K  


2. lasīt(char[] carray int offset int maxlen): Šo metodi izmanto, lai no PipedReader straumes uz rakstzīmju masīvu nolasītu līdz pat lielākajai rakstzīmei. Metode tiek bloķēta, ja tiek sasniegts straumes beigas vai tiek izdarīts izņēmums.

Sintakse:

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

  • Parametrs: Šī metode ietver trīs tālāk norādītos parametrus:
    • carray: Tas ir buferis, kurā tiks nolasīti dati.
    • nobīde: Tā ir sākuma pozīcija masīvā
    • Maxlen: Maksimālais rakstzīmju skaits, kas jānolasa masīvā.
  • Atgriešanas veids: Šī metode atgriež maksimālos datu baitus kā veselu skaitļa vērtību vai atgriež -1, ja tiek sasniegts straumes beigas

Piemērs:

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

Izvade
Read characters: GEKS 


3. aizvērt(): Šo metodi izmanto, lai aizvērtu PipedReader.

Sintakse:

public void close() izmet IOException

  • Parametrs: Šī metode neņem nekādus parametrus
  • Atgriešanas veids: Šī metode neko neatgriež

Piemērs:

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

Izvade
Stream closed.  


4. gatavs(): Šo metodi izmanto, lai pārbaudītu, vai straume ir gatava lasīšanai.

Sintakse:

publiskais Būla gatavs() izmet IOException

  • Parametrs: Šī metode neņem nekādus parametrus
  • Atgriešanas veids: Šī metode atgriež vērtību “true”, ja straume ir gatava lasīšanai, pretējā gadījumā tā atgriež vērtību “false”.

Piemērs:

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

Izvade
Stream is ready to be read: true  


5. aizvērt(): Šo metodi izmanto, lai aizvērtu PipedReader straumes.

Sintakse:

publisks tukšums aizvērt ()

  • Parametrs: Šī metode neņem nekādus parametrus.
  • Atgriešanas veids: Šī metode neko neatgriež.

Piemērs:

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

Izvade
Read: A Stream closed.  
Izveidojiet viktorīnu