Clasa Java PushbackReader

Clasa Java PushbackReader

The Clasa PushbackReader în Java face parte din java.io.package și este folosit pentru citirea caracterelor dintr-un flux. Această clasă ne permite să împingem personajele înapoi în flux.

Caracteristici ale clasei PushbackReader:

  • Această clasă folosește un buffer care ne permite să împingem caracterele înapoi în flux.
  • Această clasă este excelentă pentru citirea textului și verificarea caracterelor fără a le folosi imediat. Dacă personajul nu este necesar, acesta poate fi respins.

Exemplu:

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

Ieșire
Read character: H Read character again: H Next character: e  


Declarația clasei PushbackReader

Declarația clasei PushbackReader este listată mai jos:

clasa publică PushbackReader extinde FilterReader

Toate interfețele implementate:

  • Închidere: Această interfață este folosită pentru a elibera resurse
  • Închidere automată: Această interfață permite închiderea automată într-o declarație de încercare cu resurse.
  • Citibil: Această interfață este folosită pentru a citi datele de pe obiect.

Constructori în PushbackReader

Această clasă este formată din doi constructori cu ajutorul cărora putem crea obiectul acestei clase în moduri diferite. Următorii sunt constructorii disponibili în această clasă:

Acest constructor este folosit pentru a crea un nou PushbackReader cu un buffer de respingere implicit.

Sintaxă:

Exemplu:

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

Ieșire
Hello World! 


2. PushbackReader (Reader push int size): Acest constructor ne permite să specificăm dimensiunea bufferului pushback

Sintaxă:

public PushbackReader (Dimensiunea cititorului push int)

Exemplu:

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

Ieșire
Hello World! 


Metode Java PushbackReader

Imaginea de mai jos demonstrează metodele clasei CharArrayWriter.

Clasa io.PushbackReader în Java


Acum vom discuta despre fiecare metodă una câte una în detaliu:

1. citeste(): Această metodă este folosită pentru a citi câte un caracter din flux

Sintaxă:

public int read()

  • Parametru: Această metodă nu ia niciun parametru.
  • Tip returnare: Această metodă returnează caracterul citit ca un întreg sau returnează -1 când se ajunge la sfârșitul fluxului.


2. read(char[] carray int offset int maxlen): Această metodă este folosită pentru a citi o bucată de caractere.

Sintaxă:

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

  • Parametru: Această metodă include trei parametri care sunt enumerați mai jos
    • char[] carray: Este o matrice de caractere în care vor fi caracterele citite stocate.
    • int offset: Este poziția de pornire în matrice
    • int maxlen: Este numărul maxim de caractere de citit.
  • Tip returnare: Această metodă returnează numărul de caractere citite


3. închide(): Această metodă este folosită pentru a închide cititorul

Sintaxă:

vid public close()

  • Parametru: Această metodă nu ia niciun parametru
  • Tip returnare: Această metodă nu returnează nimic.


Această metodă este folosită pentru a marca poziția curentă în flux

Sintaxă:

marca public nulă (int readAheadLimit)

  • Parametru: Această metodă include un parametru readAheadLimit care specifică numărul maxim de caractere care pot fi citite înainte ca poziția marcajului să devină invalidă.
  • Tip returnare: Această metodă nu returnează nimic


5. săriți (n lung): Această metodă este folosită pentru a sări peste un anumit număr de caractere.

Sintaxă:

public long skip (n lung)

  • Parametru: Această metodă include un parametru lung n care este numărul de caractere care trebuie sărit în flux.
  • Tip returnare: Această metodă returnează numărul de caractere care este omis


6. resetare(): Această metodă este folosită pentru a reveni la poziția în care a fost apelat mark().

Sintaxă:

resetare public void()

  • Parametru: Această metodă nu ia niciun parametru
  • Tip returnare: Această metodă nu returnează nimic


7. markSupported(): Această metodă spune dacă fluxul acceptă marcarea sau nu

Sintaxă:

mark boolean publicSupported()

  • Parametru: Această metodă nu ia niciun parametru
  • Tip returnare: Această metodă returnează false deoarece marcarea nu este acceptată.


8. gata(): Această metodă verifică dacă fluxul este gata de citit sau nu.

Sintaxă:

public boolean gata()

  • Parametru: Această metodă nu ia niciun parametru
  • Tip returnare: Această metodă returnează true dacă fluxul este gata.


9. necitit(int c): Această metodă este folosită pentru a împinge caracterul înapoi în flux.

Sintaxă:

public void necitit(int c)

  • Parametru: Această metodă ia un singur parametru care este c, care este caracterul care trebuie împins înapoi în flux.
  • Tip returnare: Această metodă nu returnează nimic.


10. necitit(char[] carray): Această metodă este folosită pentru a împinge o serie de caractere înapoi în flux.

Sintaxă:

public void necitit(char[] carray)

  • Parametru: Această metodă necesită o serie de caractere pentru a fi împins înapoi în flux.
  • Tip returnare: Această metodă nu returnează nimic.


Program Java pentru a demonstra metodele PushbackReader

Exemplu:

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

Ieșire
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Creați un test