Java PushbackReader klasė

Java PushbackReader klasė

The PushbackReader klasė Java yra dalis java.io.package ir naudojamas simboliams iš srauto skaityti. Ši klasė leidžia grąžinti veikėjus į srautą.

PushbackReader klasės savybės:

  • Ši klasė naudoja buferį, kuris leidžia mums perkelti simbolius atgal į srautą.
  • Ši klasė puikiai tinka skaityti tekstą ir tikrinti simbolius iš karto jų nenaudojant. Jei veikėjas nereikalingas, jį galima nustumti atgal.

Pavyzdys:

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

Išvestis
Read character: H Read character again: H Next character: e  


PushbackReader klasės deklaracija

PushbackReader klasės deklaracija pateikiama toliau:

viešoji klasė PushbackReader išplečia FilterReader

Visos įdiegtos sąsajos:

  • Užsidaro: Ši sąsaja naudojama ištekliams išleisti
  • Automatinis uždarymas: Ši sąsaja leidžia automatiškai uždaryti ataskaitoje „bandyti su ištekliais“.
  • Skaitoma: Ši sąsaja naudojama duomenims iš objekto nuskaityti.

PushbackReader konstruktoriai

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

1. „PushbackReader“ (skaitytojo paspaudimas): Šis konstruktorius naudojamas kuriant naują PushbackReader su numatytuoju atšaukimo buferiu.

Sintaksė:

viešas „PushbackReader“ (skaitytojo paspaudimas)

Pavyzdys:

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

Išvestis
Hello World! 


2. PushbackReader (Reader push int dydis): Šis konstruktorius leidžia mums nurodyti atgalinio buferio dydį

Sintaksė:

viešas „PushbackReader“ (skaitytojo „push-int“ dydis)

Pavyzdys:

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

Išvestis
Hello World! 


„Java PushbackReader“ metodai

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

io.PushbackReader klasė Java


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

1. skaityti (): Šis metodas naudojamas vienu metu iš srauto nuskaityti po vieną simbolį

Sintaksė:

viešai skaityti ()

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


2. skaityti(char[] carray int offset int maxlen): Šis metodas naudojamas norint nuskaityti simbolių dalį.

Sintaksė:

viešas int skaitymas(char[] carray int offset int maxlen)

  • Parametras: Šis metodas apima tris toliau išvardytus parametrus
    • char[] carray: Tai simbolių masyvas, kuriame bus skaitomi simboliai saugomi.
    • tarpinis poslinkis: Tai yra pradinė padėtis masyve
    • int maxlen: Tai didžiausias skaitomų simbolių skaičius.
  • Grąžinimo tipas: Šis metodas grąžina perskaitytų simbolių skaičių


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

Sintaksė:

vieša galia uždaryti ()

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


4. mark(int readAheadLimit): Šis metodas naudojamas dabartinei padėčiai sraute pažymėti

Sintaksė:

viešas tuščias ženklas (int readAheadLimit)

  • Parametras: Šis metodas apima vieną parametrą readAheadLimit, kuris nurodo maksimalų simbolių skaičių, kurį galima nuskaityti, kol ženklo padėtis tampa negaliojanti.
  • Grąžinimo tipas: Šis metodas nieko negrąžina


5. praleisti (ilgas n): Šis metodas naudojamas praleisti tam tikrą skaičių simbolių.

Sintaksė:

viešas ilgas praleidimas (ilgas n)

  • Parametras: Šis metodas apima vieną n ilgio parametrą, kuris yra sraute praleistų simbolių skaičius.
  • Grąžinimo tipas: Šis metodas grąžina praleistų simbolių skaičių


6. atstatyti (): Šis metodas naudojamas norint grįžti į vietą, kurioje buvo iškviestas mark().

Sintaksė:

public void reset ()

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


7. žymėti palaikoma(): Šis metodas nurodo, ar srautas palaiko žymėjimą, ar ne

Sintaksė:

viešas loginis ženklasPalaikomas()

  • Parametras: Šis metodas nereikalauja jokių parametrų
  • Grąžinimo tipas: Šis metodas grąžina klaidingą, nes žymėjimas nepalaikomas.


8. paruošta(): Šis metodas patikrina, ar srautas paruoštas skaityti, ar ne.

Sintaksė:

vieša loginė vertė ()

  • Parametras: Šis metodas nereikalauja jokių parametrų
  • Grąžinimo tipas: Šis metodas grąžina teisingą, jei srautas yra paruoštas.


9. neskaitytas (int c): Šis metodas naudojamas norint grąžinti veikėją į srautą.

Sintaksė:

public void neskaityta(int c)

  • Parametras: Šis metodas paima vieną parametrą, kuris yra c, kuris yra simbolis, kuris turi būti stumiamas atgal į srautą.
  • Grąžinimo tipas: Šis metodas nieko negrąžina.


10. neskaitytas(char[] carray): Šis metodas naudojamas norint grąžinti simbolių masyvą į srautą.

Sintaksė:

public void neskaityta(char[] carray)

  • Parametras: Taikant šį metodą reikia daugybės simbolių, kurie bus grąžinti į srautą.
  • Grąžinimo tipas: Šis metodas nieko negrąžina.


„Java“ programa, skirta „PushbackReader“ metodams demonstruoti

Pavyzdys:

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

Išvestis
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Sukurti viktoriną