Java PushbackReader klase

Java PushbackReader klase

The PushbackReader klase Java ir daļa no java.io.package un tiek izmantots rakstzīmju lasīšanai no straumes. Šī klase ļauj atgriezt rakstzīmes straumē.

PushbackReader klases funkcijas:

  • Šajā klasē tiek izmantots buferis, kas ļauj mums iespiest rakstzīmes atpakaļ straumē.
  • Šī klase ir lieliski piemērota teksta lasīšanai un rakstzīmju pārbaudei, tās uzreiz neizmantojot. Ja varonis nav vajadzīgs, to var atstumt.

Piemērs:

Java
   // Demonstrating the working    // of PushbackReader   import     java.io.*  ;   public     class   Geeks     {          public     static     void     main  (  String  []     args  )     {      String     s     =     'Hello World!'  ;      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader      PushbackReader     pr     =     new     PushbackReader  (  sr  );      try     {      // Read the first character      int     char1     =     pr  .  read  ();      System  .  out  .  println  (  'Read character: '     +     (  char  )     char1  );      // Push this character back into the stream      pr  .  unread  (  char1  );      // Read the same character again (since we pushed it back)      int     char2     =     pr  .  read  ();      System  .  out  .  println  (  'Read character again: '     +     (  char  )     char2  );         // Continue reading the next character      int     char3     =     pr  .  read  ();      System  .  out  .  println  (  'Next character: '     +     (  char  )     char3  );         // Close the reader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Izvade
Read character: H Read character again: H Next character: e  


PushbackReader klases deklarācija

PushbackReader klases deklarācija ir norādīta tālāk:

publiskā klase PushbackReader paplašina FilterReader

Visas ieviestās saskarnes:

  • Aizverams: Šī saskarne tiek izmantota resursu atbrīvošanai
  • Automātiski aizverams: Šis interfeiss nodrošina automātisku aizvēršanu izmēģināt ar resursiem paziņojumā.
  • Lasāms: Šo interfeisu izmanto, lai nolasītu datus no objekta.

PushbackReader konstruktori

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

1. PushbackReader (Reader push): Šis konstruktors tiek izmantots, lai izveidotu jaunu PushbackReader ar noklusējuma pushback buferi.

Sintakse:

publisks PushbackReader (Reader push)

Piemērs:

Java
   // Demonstrating the working    // of PushbackReader(Reader push)   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )     {          // String to be read      String     s     =     'Hello World!'  ;          // Create a StringReader to read from the string      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader      PushbackReader     pr     =     new     PushbackReader  (  sr  );      try     {      // Read and print characters      int     charRead  ;      while     ((  charRead     =     pr  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     charRead  );      }      // Close the PushbackReader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Izvade
Hello World! 


2. PushbackReader (Reader push int izmērs): Šis konstruktors ļauj mums norādīt atgrūšanas bufera lielumu

Sintakse:

publiskais PushbackReader (lasītāja push int izmērs)

Piemērs:

Java
   // Demonstrating the working   // of PushbackReader(Reader push int size)   import     java.io.*  ;   public     class   Geeks  {      public     static     void     main  (  String  []     args  )     {          // String to be read      String     s     =     'Hello World!'  ;          // Create a StringReader to read from the string      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader       // and a specified buffer size of 20      PushbackReader     pr     =     new     PushbackReader  (  sr       20  );      try     {      // Read and print characters      int     charRead  ;      while     ((  charRead     =     pr  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     charRead  );      }      // Close the PushbackReader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Izvade
Hello World! 


Java PushbackReader metodes

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

io.PushbackReader klase Java valodā


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

1. lasīt (): Šo metodi izmanto, lai no straumes nolasītu vienu rakstzīmi

Sintakse:

publisks int read()

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


2. lasīt(char[] carray int offset int maxlen): Šo metodi izmanto, lai nolasītu rakstzīmju daļu.

Sintakse:

publiskais int lasīt(char[] carray int offset int maxlen)

  • Parametrs: Šī metode ietver trīs tālāk norādītos parametrus
    • char[] carray: Tas ir rakstzīmju masīvs, kurā būs lasītās rakstzīmes glabājas.
    • int nobīde: Tā ir sākuma pozīcija masīvā
    • int maxlen: Tas ir maksimālais nolasāmo rakstzīmju skaits.
  • Atgriešanas veids: Šī metode atgriež nolasīto rakstzīmju skaitu


3. aizvērt(): Šo metodi izmanto, lai aizvērtu lasītāju

Sintakse:

publisks tukšums aizvērt ()

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


4. atzīme (int readAheadLimit): Šo metodi izmanto, lai atzīmētu pašreizējo pozīciju straumē

Sintakse:

publiska tukšuma atzīme (int readAheadLimit)

  • Parametrs: Šī metode ietver vienu parametru readAheadLimit, kas norāda maksimālo rakstzīmju skaitu, ko var nolasīt, pirms atzīmes pozīcija kļūst nederīga.
  • Atgriešanas veids: Šī metode neko neatgriež


5. izlaist (garš n): Šo metodi izmanto, lai izlaistu noteiktu skaitu rakstzīmju.

Sintakse:

publiska garā izlaišana (garais n)

  • Parametrs: Šī metode ietver vienu n garu parametru, kas ir straumē izlaižamo rakstzīmju skaits.
  • Atgriešanas veids: Šī metode atgriež izlaisto rakstzīmju skaitu


6. atiestatīt(): Šo metodi izmanto, lai atgrieztos pozīcijā, kurā tika izsaukta mark().

Sintakse:

public Void reset()

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


7. MarkSupported(): Šī metode norāda, vai straume atbalsta atzīmēšanu vai ne

Sintakse:

publiskā Būla atzīmeSupported()

  • Parametrs: Šī metode neņem nekādus parametrus
  • Atgriešanas veids: Šī metode atgriež false, jo atzīmēšana netiek atbalstīta.


8. gatavs(): Šī metode pārbauda, ​​vai straume ir gatava lasīšanai.

Sintakse:

publisks Būla gatavs()

  • Parametrs: Šī metode neņem nekādus parametrus
  • Atgriešanas veids: Šī metode atgriež patieso vērtību, ja straume ir gatava.


9. nelasīts(int c): Šo metodi izmanto, lai rakstzīmi atgrieztu straumē.

Sintakse:

public void nelasīts(int c)

  • Parametrs: Šī metode izmanto vienu parametru, kas ir c, kas ir rakstzīme, kas jāiespiež atpakaļ straumē.
  • Atgriešanas veids: Šī metode neko neatgriež.


10. nelasīts(char[] carray): Šo metodi izmanto, lai rakstzīmju masīvu atgrieztu straumē.

Sintakse:

public void nelasīts(char[] carray)

  • Parametrs: Izmantojot šo metodi, ir nepieciešams rakstzīmju masīvs, kas tiek virzīts atpakaļ straumē.
  • Atgriešanas veids: Šī metode neko neatgriež.


Java programma PushbackReader metožu demonstrēšanai

Piemērs:

Java
   // Demonstrating the working   // of methods of PushbackReader class   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )     throws     IOException     {      String     s     =     'GeeksForGeeks'  ;      StringReader     sr     =     new     StringReader  (  s  );      PushbackReader     pr     =     new     PushbackReader  (  sr  );      // Check if the stream is ready      System  .  out  .  println  (  'Is the stream ready? '     +     pr  .  ready  ());      // Use read() and skip()      System  .  out  .  print  (  'Using read() and skip(): '  );      for     (  int     i     =     0  ;     i      <     3  ;     i  ++  )     {      char     c     =     (  char  )     pr  .  read  ();     // Read 1 char      System  .  out  .  print  (  c  );      pr  .  skip  (  1  );     // Skip next char      }      char     c     =     (  char  )     pr  .  read  ();     // read next char after 3 skip cycles      System  .  out  .  print  (  c  );         // Now read() with array – only 1 char expected      char  []     arr     =     new     char  [  1  ]  ;      pr  .  read  (  arr  );      System  .  out  .  println  (  'nUsing read() with an array: '     +     new     String  (  arr  ));      // Unread and read back      pr  .  unread  (  'F'  );      char     nextChar     =     (  char  )     pr  .  read  ();      System  .  out  .  println  (  'After unread() the next character: '     +     nextChar  );      // Close the reader      pr  .  close  ();      }   }   

Izvade
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Izveidojiet viktorīnu