Trieda Java PushbackReader

Trieda Java PushbackReader

The Trieda PushbackReader v Jave je súčasťou balík java.io a používa sa na čítanie znakov z prúdu. Táto trieda nám umožňuje posúvať postavy späť do prúdu.

Vlastnosti triedy PushbackReader:

  • Táto trieda používa vyrovnávaciu pamäť, ktorá nám umožňuje posúvať znaky späť do prúdu.
  • Táto trieda je skvelá na čítanie textu a kontrolu znakov bez toho, aby ste ich hneď použili. Ak postava nie je potrebná, môže byť posunutá späť.

Príklad:

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

Výstup
Read character: H Read character again: H Next character: e  


Vyhlásenie o triede PushbackReader

Vyhlásenie triedy PushbackReader je uvedené nižšie:

public class PushbackReader rozširuje FilterReader

Všetky implementované rozhrania:

  • Uzatvárateľné: Toto rozhranie sa používa na uvoľnenie zdrojov
  • Automatické zatváranie: Toto rozhranie umožňuje automatické zatváranie v príkaze try-with-resources.
  • čitateľné: Toto rozhranie sa používa na čítanie údajov z objektu.

Konštruktory v PushbackReader

Táto trieda pozostáva z dvoch konštruktorov, pomocou ktorých môžeme vytvárať objekt tejto triedy rôznymi spôsobmi. V tejto triede sú dostupné nasledujúce konštruktory:

1. PushbackReader (Reader push): Tento konštruktor sa používa na vytvorenie nového PushbackReader s predvolenou vyrovnávacou pamäťou.

Syntax:

public PushbackReader (Reader push)

Príklad:

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

Výstup
Hello World! 


2. PushbackReader (veľkosť vloženia čítačky): Tento konštruktor nám umožňuje určiť veľkosť vyrovnávacej pamäte

Syntax:

public PushbackReader (veľkosť push int Reader)

Príklad:

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

Výstup
Hello World! 


Metódy Java PushbackReader

Obrázok nižšie ukazuje metódy triedy CharArrayWriter.

Trieda io.PushbackReader v jazyku Java


Teraz budeme diskutovať o každej metóde jeden po druhom podrobne:

1. čítaj(): Táto metóda sa používa na čítanie po jednom znaku zo streamu

Syntax:

public int read()

  • Parameter: Táto metóda neberie žiadny parameter.
  • Typ návratu: Táto metóda vráti prečítaný znak ako celé číslo alebo vráti -1, keď sa dosiahne koniec prúdu.


2. read(char[] carray int offset int maxlen): Táto metóda sa používa na čítanie časti znakov.

Syntax:

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

  • Parameter: Táto metóda zahŕňa tri parametre, ktoré sú uvedené nižšie
    • char[] carray: Je to pole znakov, kde budú načítané znaky uložené.
    • int offset: Je to počiatočná pozícia v poli
    • int maxlen: Je to maximálny počet znakov na čítanie.
  • Typ návratu: Táto metóda vráti počet prečítaných znakov


3. zavrieť(): Táto metóda sa používa na zatvorenie čítačky

Syntax:

public void close()

  • Parameter: Táto metóda neberie žiadny parameter
  • Typ návratu: Táto metóda nič nevracia.


4. mark(int readAheadLimit): Táto metóda sa používa na označenie aktuálnej polohy v prúde

Syntax:

public void mark (int readAheadLimit)

  • Parameter: Táto metóda obsahuje jeden parameter readAheadLimit, ktorý určuje maximálny počet znakov, ktoré je možné prečítať, kým sa pozícia značky stane neplatnou.
  • Typ návratu: Táto metóda nič nevracia


5. preskočiť (dlhé n): Táto metóda sa používa na preskočenie určitého počtu znakov.

Syntax:

verejné dlhé preskočenie (dlhé n)

  • Parameter: Táto metóda obsahuje jeden parameter dlhý n, čo je počet znakov, ktoré sa majú v streame preskočiť.
  • Typ návratu: Táto metóda vráti počet vynechaných znakov


6. reset(): Táto metóda sa používa na návrat do pozície, kde bola volaná mark().

Syntax:

public void reset()

  • Parameter: Táto metóda neberie žiadny parameter
  • Typ návratu: Táto metóda nič nevracia


7. markSupported(): Táto metóda hovorí, či stream podporuje označovanie alebo nie

Syntax:

public boolean markSupported()

  • Parameter: Táto metóda neberie žiadny parameter
  • Typ návratu: Táto metóda vráti hodnotu false, pretože označovanie nie je podporované.


8. pripravený(): Táto metóda kontroluje, či je stream pripravený na čítanie alebo nie.

Syntax:

public boolean ready()

  • Parameter: Táto metóda neberie žiadny parameter
  • Typ návratu: Táto metóda vráti hodnotu true, ak je stream pripravený.


9. neprečítané (int c): Táto metóda sa používa na zatlačenie znaku späť do prúdu.

Syntax:

public void neprečítané (int c)

  • Parameter: Táto metóda používa jeden parameter, ktorým je c, čo je znak, ktorý sa má vrátiť späť do prúdu.
  • Typ návratu: Táto metóda nič nevracia.


10. neprečítané(char[] carray): Táto metóda sa používa na zatlačenie poľa znakov späť do prúdu.

Syntax:

public void neprečítané(char[] carray)

  • Parameter: Táto metóda vyžaduje pole znakov, ktoré sa majú vrátiť späť do prúdu.
  • Typ návratu: Táto metóda nič nevracia.


Program Java na demonštráciu metód PushbackReader

Príklad:

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

Výstup
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Vytvoriť kvíz