Јава ПипедРеадер Цласс

Јава ПипедРеадер Цласс

Тхе Класа ПипедРеадер у Јави је део јава.ио пакет и користи се за читање знаковних података из цеви. Ова класа дозвољава комуникацију између нити где једна нит записује податке користећи ПипедВритер, а друга их чита користећи ПипедРеадер.

Карактеристике класе ПипедРеадер:

  • Омогућава читање података кроз цев.
  • Користи бафер за складиштење података примљених од ПипедВритер-а.
  • Ради са ПипедВритер-ом како би се осигурало да се подаци безбедно преносе између нити.
  • Ако се цев поквари, јавља се грешка.

Шта је цев у Јави?

У Јави се цев користи за повезивање две нити. Једна нит се користи за слање података кроз цев, а друга нит чита податке. Ако се нит која шаље податке заустави или сруши, сматра се да је цев прекинута.

Декларација класе ПипедРеадер

Декларација класе ПипедРеадер је:

јавна класа ПипедРеадер проширује Реадер

Сви имплементирани интерфејси:

  • Затварање: Овај интерфејс се користи за затварање тока и ослобађање ресурса када више нису потребни.
  • АутоЦлосеабле: Овај интерфејс омогућава аутоматско управљање ресурсима у изјавама три-витх-ресоурцес.
  • Читљиво: Овај интерфејс омогућава читање података из тока.

Конструктори ПипедРеадер-а

Ова класа се састоји од четири конструктора уз помоћ којих можемо креирати објекат ове класе на различите начине. Следећи су конструктори доступни у овој класи:

1. ПипедРеадер(): Овај конструктор креира ПипедРеадер који још није повезан ни са једним писцем.

Синтакса:

јавни ПипедРеадер()


2. ПипедРеадер(инт пипеСизе): Овај конструктор креира аПипедРЕадер са наведеном величином цеви.

Синтакса:

јавни ПипедРеадер(инт пСизе)


3. ПипедРеадер(ПипедВритер срц): Овај конструктор креира ПипедРеадер који је повезан са ПипедВритерСтреам срц.

јавни ПипедРеадер(ПипедВритер срц)


4. ПипедРеадер(ПипедВритер срц инт пипеСизе): Овај конструктор креира повезани ПипедРеадер са наведеном величином и повезан са датим ПипедВритер-ом.

Синтакса:

публиц ПипедРеадер(ПипедВритер срц инт пСизе)


Јава ПипедРеадерМетходс

Слика испод показује методе класе ПипедРеадер.

ио.ПипедРеадер Цласс у Јави


Сада ћемо детаљно разговарати о свакој методи један по један:

1. реад(): Овај метод се користи за добијање следећег карактера из ПипедРеадер-а. Блокира се све док нема података за читање или дође до грешке.

Синтакса:

публиц инт реад() избацује ИОЕкцептион

  • Параметар: Овај метод не узима ниједан параметар.
  • Тип повратка: Овај метод враћа следећи знак као цео број или враћа -1 ако се достигне крај тока.

Пример:

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

Излаз
Read: G Read: E Read: K  


2. реад(цхар[] царраи инт оффсет инт маклен): Овај метод се користи за читање до маклен карактера из ПипедРеадер Стреам-а у низ знакова. Метод се блокира ако се достигне крај стрима или се избаци изузетак.

Синтакса:

публиц инт реад(цхар[] царраи инт оффсет инт маклен) избацује ИОЕкцептион

  • Параметар: Овај метод укључује три параметра која су наведена у наставку:
    • носи: То је бафер у који ће се подаци читати.
    • офсет: То је почетна позиција у низу
    • маклен: Максималан број знакова који се читају у низу.
  • Тип повратка: Овај метод враћа максималне бајтове података као целобројну вредност или враћа -1 ако је крај тока достигнут

Пример:

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

Излаз
Read characters: GEKS 


3. затвори(): Овај метод се користи за затварање ПипедРеадер-а.

Синтакса:

публиц воид цлосе() избацује ИОЕкцептион

  • Параметар: Овај метод не узима ниједан параметар
  • Тип повратка: Овај метод не враћа ништа

Пример:

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

Излаз
Stream closed.  


4. спреман(): Овај метод се користи за проверу да ли је стрим спреман за читање.

Синтакса:

публиц боолеан реади() избацује ИОЕкцептион

  • Параметар: Овај метод не узима ниједан параметар
  • Тип повратка: Овај метод враћа тачно ако је стрим спреман за читање, иначе враћа нетачно.

Пример:

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

Излаз
Stream is ready to be read: true  


5. затвори(): Овај метод се користи за затварање ПипедРеадер токова.

Синтакса:

публиц воид цлосе()

  • Параметар: Овај метод не узима ниједан параметар.
  • Тип повратка: Овај метод не враћа ништа.

Пример:

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

Излаз
Read: A Stream closed.  
Креирај квиз