Java PushbackReader klasse

Java PushbackReader klasse

De PushbackReader klasse i Java er en del af java.io.pakke og bruges til at læse tegn fra en strøm. Denne klasse lader os skubbe karakterer tilbage i strømmen.

Funktioner i PushbackReader Class:

  • Denne klasse bruger en buffer, der giver os mulighed for at skubbe karakterer tilbage i strømmen.
  • Denne klasse er fantastisk til at læse tekst og tjekke tegn uden at bruge dem med det samme. Hvis karakteren ikke er nødvendig, kan den skubbes tilbage.

Eksempel:

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

Produktion
Read character: H Read character again: H Next character: e  


Erklæring om PushbackReader-klasse

Declaration of PushbackReader-klassen er anført nedenfor:

public class PushbackReader udvider FilterReader

Alle implementerede grænseflader:

  • Kan lukkes: Denne grænseflade bruges til at frigive ressourcer
  • Autolukbar: Denne grænseflade tillader automatisk lukning i en prøv-med-ressourcer-erklæring.
  • Læselig: Denne grænseflade bruges til at læse data fra objektet.

Konstruktører i PushbackReader

Denne klasse består af to konstruktører, ved hjælp af hvilke vi kan skabe objekter for denne klasse på forskellige måder. Følgende er konstruktørerne tilgængelige i denne klasse:

1. PushbackReader(Læser-push): Denne konstruktør bruges til at oprette en ny PushbackReader med en standard pushback-buffer.

Syntaks:

offentlig PushbackReader(Reader push)

Eksempel:

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

Produktion
Hello World! 


2. PushbackReader(Reader push int størrelse): Denne konstruktør giver os mulighed for at angive størrelsen af ​​pushback-bufferen

Syntaks:

offentlig PushbackReader (Reader push int størrelse)

Eksempel:

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

Produktion
Hello World! 


Java PushbackReader-metoder

Billedet nedenfor viser metoderne til CharArrayWriter-klassen.

io.PushbackReader Class i Java


Nu skal vi diskutere hver metode en efter en i detaljer:

1. læs(): Denne metode bruges til at læse et tegn ad gangen fra strømmen

Syntaks:

public int read()

  • Parameter: Denne metode tager ikke nogen parameter.
  • Returtype: Denne metode returnerer tegnet læst som et heltal eller returnerer -1, når slutningen af ​​strømmen nås.


2. read(char[] carray int offset int maxlen): Denne metode bruges til at læse en del af tegn.

Syntaks:

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

  • Parameter: Denne metode omfatter tre parametre, som er anført nedenfor
    • char[] carray: Det er et tegnarray, hvor læste tegn vil være gemt.
    • int offset: Det er startpositionen i arrayet
    • int maxlen: Det er det maksimale antal tegn at læse.
  • Returtype: Denne metode returnerer antallet af læste tegn


3. luk(): Denne metode bruges til at lukke læseren

Syntaks:

public void close()

  • Parameter: Denne metode tager ikke nogen parameter
  • Returtype: Denne metode returnerer ikke noget.


4. mark(int readAheadLimit): Denne metode bruges til at markere den aktuelle position i strømmen

Syntaks:

offentligt ugyldigt mærke (int readAheadLimit)

  • Parameter: Denne metode inkluderer én parameter readAheadLimit, som angiver det maksimale antal tegn, der kan læses, før mærkepositionen bliver ugyldig.
  • Returtype: Denne metode returnerer ikke noget


5. spring (langt n): Denne metode bruges til at springe et bestemt antal tegn over.

Syntaks:

offentligt langt overspring (langt n)

  • Parameter: Denne metode inkluderer én parameter lang n, som er antallet af tegn, der skal springes over i strømmen.
  • Returtype: Denne metode returnerer antallet af tegn, der springes over


6. nulstil(): Denne metode bruges til at gå tilbage til den position, hvor mark() blev kaldt.

Syntaks:

offentlig ugyldig nulstilling()

  • Parameter: Denne metode tager ikke nogen parameter
  • Returtype: Denne metode returnerer ikke noget


7. markSupported(): Denne metode fortæller, om strømmen understøtter markering eller ej

Syntaks:

offentlig boolesk markSupported()

  • Parameter: Denne metode tager ikke nogen parameter
  • Returtype: Denne metode returnerer falsk, fordi markering ikke understøttes.


8. klar(): Denne metode kontrollerer, om streamen er klar til at læse eller ej.

Syntaks:

offentlig boolesk klar()

  • Parameter: Denne metode tager ikke nogen parameter
  • Returtype: Denne metode returnerer sand, hvis streamen er klar.


9. ulæst (int c): Denne metode bruges til at skubbe karakter tilbage i strømmen.

Syntaks:

public void ulæst (int c)

  • Parameter: Denne metode tager en enkelt parameter, der er c, som er det tegn, der skal skubbes tilbage i strømmen.
  • Returtype: Denne metode returnerer ikke noget.


10. ulæst(char[] carray): Denne metode bruges til at skubbe række af tegn tilbage i strømmen.

Syntaks:

public void ulæst(char[] carray)

  • Parameter: Denne metode kræver, at en række tegn skubbes tilbage i strømmen.
  • Returtype: Denne metode returnerer ikke noget.


Java-program til at demonstrere PushbackReader-metoderne

Eksempel:

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

Produktion
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Opret quiz