Třída Java PushbackReader

Třída Java PushbackReader

The Třída PushbackReader v Javě je součástí java.io.balíček a používá se pro čtení znaků z proudu. Tato třída nám umožňuje tlačit postavy zpět do streamu.

Vlastnosti třídy PushbackReader:

  • Tato třída používá vyrovnávací paměť, která nám umožňuje přesunout znaky zpět do proudu.
  • Tato třída je skvělá pro čtení textu a kontrolu znaků bez jejich okamžitého použití. Pokud postava není potřeba, může být odsunuta zpět.

Pří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  


Prohlášení o třídě PushbackReader

Třída Declaration of PushbackReader je uvedena níže:

public class PushbackReader rozšiřuje FilterReader

Všechna implementovaná rozhraní:

  • Uzavíratelné: Toto rozhraní se používá k uvolnění zdrojů
  • Automatické zavírání: Toto rozhraní umožňuje automatické uzavření v příkazu try-with-resources.
  • Čitelný: Toto rozhraní slouží ke čtení dat z objektu.

Konstruktoři v PushbackReader

Tato třída se skládá ze dvou konstruktorů, pomocí kterých můžeme vytvořit objekt této třídy různými způsoby. V této třídě jsou k dispozici následující konstruktory:

1. PushbackReader (Reader push): Tento konstruktor se používá k vytvoření nového PushbackReaderu s výchozí vyrovnávací pamětí.

Syntax:

public PushbackReader (Reader push)

Pří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 (Reader push int size): Tento konstruktor nám umožňuje určit velikost pushback bufferu

Syntax:

public PushbackReader (velikost aplikace Reader push int)

Pří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! 


Metody Java PushbackReader

Obrázek níže ukazuje metody třídy CharArrayWriter.

Třída io.PushbackReader v Javě


Nyní budeme diskutovat o každé metodě jednu po druhé podrobně:

1. číst(): Tato metoda se používá ke čtení jednoho znaku po druhém z proudu

Syntax:

public int read()

  • Parametr: Tato metoda nebere žádný parametr.
  • Typ vrácení: Tato metoda vrátí znak přečtený jako celé číslo nebo vrátí -1, když je dosaženo konce proudu.


2. read(char[] carray int offset int maxlen): Tato metoda se používá ke čtení velkého množství znaků.

Syntax:

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

  • Parametr: Tato metoda zahrnuje tři parametry, které jsou uvedeny níže
    • char[] carray: Je to pole znaků, kde budou čtené znaky uloženy.
    • int offset: Je to výchozí pozice v poli
    • int maxlen: Je to maximální počet znaků ke čtení.
  • Typ vrácení: Tato metoda vrací počet přečtených znaků


3. zavřít(): Tato metoda se používá k uzavření čtečky

Syntax:

public void close()

  • Parametr: Tato metoda nebere žádný parametr
  • Typ vrácení: Tato metoda nic nevrací.


4. mark(int readAheadLimit): Tato metoda se používá k označení aktuální pozice v proudu

Syntax:

public void mark (int readAheadLimit)

  • Parametr: Tato metoda obsahuje jeden parametr readAheadLimit, který určuje maximální počet znaků, které lze přečíst, než se pozice značky stane neplatnou.
  • Typ vrácení: Tato metoda nic nevrací


5. přeskočit (dlouhé n): Tato metoda se používá k přeskočení určitého počtu znaků.

Syntax:

veřejné dlouhé přeskočení (dlouhé n)

  • Parametr: Tato metoda zahrnuje jeden parametr dlouhý n, což je počet znaků, které se mají v proudu přeskočit.
  • Typ vrácení: Tato metoda vrací počet vynechaných znaků


6. reset(): Tato metoda se používá k návratu do pozice, kde byla volána mark().

Syntax:

public void reset()

  • Parametr: Tato metoda nebere žádný parametr
  • Typ vrácení: Tato metoda nic nevrací


7. markSupported(): Tato metoda říká, zda stream podporuje značení nebo ne

Syntax:

public boolean markSupported()

  • Parametr: Tato metoda nebere žádný parametr
  • Typ vrácení: Tato metoda vrací hodnotu false, protože značení není podporováno.


8. připraven(): Tato metoda kontroluje, zda je stream připraven ke čtení nebo ne.

Syntax:

public boolean ready()

  • Parametr: Tato metoda nebere žádný parametr
  • Typ vrácení: Tato metoda vrátí hodnotu true, pokud je stream připraven.


9. nepřečteno (int c): Tato metoda se používá k vložení znaku zpět do proudu.

Syntax:

public void nepřečteno (int c)

  • Parametr: Tato metoda přebírá jeden parametr, kterým je c, což je znak, který má být vrácen zpět do proudu.
  • Typ vrácení: Tato metoda nic nevrací.


10. nepřečteno(char[] carray): Tato metoda se používá k vložení pole znaků zpět do proudu.

Syntax:

public void nepřečteno(char[] carray)

  • Parametr: Tato metoda vyžaduje pole znaků, které se mají vrátit zpět do proudu.
  • Typ vrácení: Tato metoda nic nevrací.


Java Program pro demonstraci metod PushbackReader

Pří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  
Vytvořit kvíz

Nejlepší Články

Kategorie

Zajímavé Články