Java PushbackReader-klass

Java PushbackReader-klass

De PushbackReader klass i Java är en del av java.io.paket och används för att läsa tecken från en ström. Den här klassen låter oss trycka tillbaka karaktärer i strömmen.

Funktioner i PushbackReader Class:

  • Den här klassen använder en buffert som gör att vi kan trycka tillbaka tecken i strömmen.
  • Den här klassen är utmärkt för att läsa text och kontrollera tecken utan att använda dem direkt. Om karaktären inte behövs kan den skjutas tillbaka.

Exempel:

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  


Deklaration av PushbackReader-klass

Declaration of PushbackReader-klassen listas nedan:

public class PushbackReader utökar FilterReader

Alla implementerade gränssnitt:

  • Stängbar: Detta gränssnitt används för att frigöra resurser
  • Autostängbar: Det här gränssnittet tillåter automatisk stängning i ett försök-med-resurser-uttalande.
  • Läsbar: Detta gränssnitt används för att läsa data från objektet.

Konstruktörer i PushbackReader

Denna klass består av två konstruktorer med hjälp av vilka vi kan skapa objekt av denna klass på olika sätt. Följande är de konstruktörer som finns tillgängliga i den här klassen:

1. PushbackReader(Reader push): Denna konstruktor används för att skapa en ny PushbackReader med en standard pushback-buffert.

Syntax:

public PushbackReader(Reader push)

Exempel:

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 storlek): Denna konstruktor låter oss specificera storleken på pushback-bufferten

Syntax:

public PushbackReader(Reader push int storlek)

Exempel:

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

Bilden nedan visar metoderna i klassen CharArrayWriter.

io.PushbackReader Class i Java


Nu ska vi diskutera varje metod en efter en i detalj:

1. läs(): Denna metod används för att läsa ett tecken i taget från strömmen

Syntax:

public int read()

  • Parameter: Denna metod tar inte någon parameter.
  • Returtyp: Denna metod returnerar tecknet som läses som ett heltal eller returnerar -1 när slutet av strömmen nås.


2. read(char[] carray int offset int maxlen): Denna metod används för att läsa en del tecken.

Syntax:

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

  • Parameter: Denna metod inkluderar tre parametrar som listas nedan
    • char[] carray: Det är en teckenuppsättning där lästa tecken kommer att finnas lagras.
    • int offset: Det är startpositionen i arrayen
    • int maxlen: Det är det maximala antalet tecken att läsa.
  • Returtyp: Denna metod returnerar antalet lästa tecken


3. stäng(): Denna metod används för att stänga läsaren

Syntax:

public void close()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar ingenting.


4. mark(int readAheadLimit): Denna metod används för att markera den aktuella positionen i strömmen

Syntax:

public void mark (int readAheadLimit)

  • Parameter: Denna metod inkluderar en parameter readAheadLimit som anger det maximala antalet tecken som kan läsas innan markeringspositionen blir ogiltig.
  • Returtyp: Denna metod returnerar ingenting


5. hoppa över (långt n): Denna metod används för att hoppa över ett visst antal tecken.

Syntax:

offentligt långt hoppa (långt n)

  • Parameter: Denna metod inkluderar en parameter lång n som är antalet tecken att hoppa över i strömmen.
  • Returtyp: Denna metod returnerar antalet tecken som hoppas över


6. återställ(): Denna metod används för att gå tillbaka till positionen där mark() anropades.

Syntax:

public void reset()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar ingenting


7. markSupported(): Denna metod talar om om strömmen stöder märkning eller inte

Syntax:

public boolean markSupported()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Den här metoden returnerar false eftersom markering inte stöds.


8. redo(): Denna metod kontrollerar om strömmen är redo att läsas eller inte.

Syntax:

public boolean ready()

  • Parameter: Denna metod tar inte någon parameter
  • Returtyp: Denna metod returnerar sant om strömmen är klar.


9. oläst(int c): Denna metod används för att trycka tillbaka tecken i strömmen.

Syntax:

public void oläst(int c)

  • Parameter: Denna metod tar en enda parameter som är c ​​som är tecknet som ska tryckas tillbaka in i strömmen.
  • Returtyp: Denna metod returnerar ingenting.


10. oläst(char[] carray): Den här metoden används för att skjuta en rad tecken tillbaka i strömmen.

Syntax:

public void oläst(char[] carray)

  • Parameter: Den här metoden kräver att en rad tecken skjuts tillbaka in i strömmen.
  • Returtyp: Denna metod returnerar ingenting.


Java-program för att demonstrera PushbackReader-metoderna

Exempel:

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  
Skapa frågesport