Java PushbackReader-klasse

Java PushbackReader-klasse

De PushbackReader klasse i Java er en del av java.io.pakke og brukes til å lese tegn fra en strøm. Denne klassen lar oss skyve karakterer tilbake i strømmen.

Funksjoner i PushbackReader Class:

  • Denne klassen bruker en buffer som lar oss skyve tegn tilbake i strømmen.
  • Denne timen er flott for å lese tekst og sjekke tegn uten å bruke dem med en gang. Hvis karakteren ikke er nødvendig, kan den skyves tilbake.

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

Produksjon
Read character: H Read character again: H Next character: e  


Erklæring om PushbackReader-klasse

Declaration of PushbackReader-klassen er oppført nedenfor:

public class PushbackReader utvider FilterReader

Alle implementerte grensesnitt:

  • Kan lukkes: Dette grensesnittet brukes til å frigjøre ressurser
  • Autolukkbar: Dette grensesnittet tillater automatisk lukking i en prøv-med-ressurser-setning.
  • Leselig: Dette grensesnittet brukes til å lese data fra objektet.

Konstruktører i PushbackReader

Denne klassen består av to konstruktører ved hjelp av hvilke vi kan lage objekter til denne klassen på forskjellige måter. Følgende er konstruktørene som er tilgjengelige i denne klassen:

1. PushbackReader(Reader-push): Denne konstruktøren brukes til å lage 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  ();      }      }   }   

Produksjon
Hello World! 


2. PushbackReader (Reader push int størrelse): Denne konstruktøren lar oss spesifisere størrelsen på 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  ();      }      }   }   

Produksjon
Hello World! 


Java PushbackReader-metoder

Bildet nedenfor viser metodene til CharArrayWriter-klassen.

io.PushbackReader Class i Java


Nå skal vi diskutere hver metode en etter en i detalj:

1. les(): Denne metoden brukes til å lese ett tegn om gangen fra strømmen

Syntaks:

public int read()

  • Parameter: Denne metoden tar ikke noen parameter.
  • Returtype: Denne metoden returnerer tegnet lest som et heltall eller returnerer -1 når slutten av strømmen er nådd.


2. read(char[] carray int offset int maxlen): Denne metoden brukes til å lese en del av tegn.

Syntaks:

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

  • Parameter: Denne metoden inkluderer tre parametere som er oppført nedenfor
    • char[] carray: Det er en tegnarray der leste tegn vil være lagret.
    • int offset: Det er startposisjonen i matrisen
    • int maxlen: Det er maksimalt antall tegn å lese.
  • Returtype: Denne metoden returnerer antall leste tegn


3. lukk(): Denne metoden brukes til å lukke leseren

Syntaks:

public void close()

  • Parameter: Denne metoden tar ikke noen parameter
  • Returtype: Denne metoden returnerer ikke noe.


4. mark(int readAheadLimit): Denne metoden brukes til å markere gjeldende posisjon i strømmen

Syntaks:

offentlig ugyldig merke (int readAheadLimit)

  • Parameter: Denne metoden inkluderer én parameter readAheadLimit som spesifiserer maksimalt antall tegn som kan leses før merkeposisjonen blir ugyldig.
  • Returtype: Denne metoden returnerer ikke noe


5. hopp over (lang n): Denne metoden brukes til å hoppe over et visst antall tegn.

Syntaks:

offentlig langt hopp (lang n)

  • Parameter: Denne metoden inkluderer én parameter lang n som er antallet tegn som skal hoppes over i strømmen.
  • Returtype: Denne metoden returnerer antall tegn som hoppes over


6. tilbakestill(): Denne metoden brukes til å gå tilbake til posisjonen der mark() ble kalt.

Syntaks:

offentlig void reset()

  • Parameter: Denne metoden tar ikke noen parameter
  • Returtype: Denne metoden returnerer ikke noe


7. markSupported(): Denne metoden forteller om strømmen støtter merking eller ikke

Syntaks:

offentlig boolesk markSupported()

  • Parameter: Denne metoden tar ikke noen parameter
  • Returtype: Denne metoden returnerer usann fordi merking ikke støttes.


8. klar(): Denne metoden sjekker om strømmen er klar til å leses eller ikke.

Syntaks:

offentlig boolsk klar()

  • Parameter: Denne metoden tar ikke noen parameter
  • Returtype: Denne metoden returnerer sann hvis strømmen er klar.


9. ulest(int c): Denne metoden brukes til å skyve karakter tilbake i strømmen.

Syntaks:

offentlig ugyldig ulest (int c)

  • Parameter: Denne metoden tar en enkelt parameter som er c som er tegnet som skal skyves tilbake i strømmen.
  • Returtype: Denne metoden returnerer ikke noe.


10. ulest(char[] carray): Denne metoden brukes til å skyve en rekke tegn tilbake i strømmen.

Syntaks:

public void ulest(char[] carray)

  • Parameter: Denne metoden krever at en rekke tegn skyves tilbake i strømmen.
  • Returtype: Denne metoden returnerer ikke noe.


Java-program for å demonstrere PushbackReader-metodene

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

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