Java PushbackReader osztály

Java PushbackReader osztály

A PushbackReader osztály a Java része a java.io.package és karakterek olvasására szolgál egy adatfolyamból. Ez az osztály lehetővé teszi, hogy a karaktereket visszatoljuk az adatfolyamba.

A PushbackReader osztály jellemzői:

  • Ez az osztály egy puffert használ, amely lehetővé teszi számunkra, hogy karaktereket toljunk vissza az adatfolyamba.
  • Ez az osztály kiválóan alkalmas szövegek olvasására és karakterek ellenőrzésére anélkül, hogy azonnal használnák őket. Ha a karakterre nincs szükség, vissza lehet tolni.

Példa:



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

Kimenet
Read character: H Read character again: H Next character: e  


A PushbackReader osztály nyilatkozata

A PushbackReader osztály nyilatkozata az alábbiakban található:

public class PushbackReader kiterjeszti a FilterReader alkalmazást

Minden megvalósított interfész:

  • Zárható: Ez az interfész erőforrások felszabadítására szolgál
  • Automatikus bezárás: Ez az interfész lehetővé teszi az automatikus bezárást a „try-with-resources” utasításban.
  • Olvasható: Ez az interfész adatok olvasására szolgál az objektumból.

Konstruktorok a PushbackReaderben

Ez az osztály két konstruktorból áll, amelyek segítségével többféleképpen hozhatjuk létre az osztály objektumát. A következő konstruktorok állnak rendelkezésre ebben az osztályban:

1. PushbackReader (Reader push): Ez a konstruktor egy új PushbackReader létrehozására szolgál alapértelmezett pushback pufferrel.

Szintaxis:

nyilvános PushbackReader (Reader push)

Példa:

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

Kimenet
Hello World! 


2. PushbackReader (Reader push int mérete): Ez a konstruktor lehetővé teszi a pushback puffer méretének megadását

Szintaxis:

nyilvános PushbackReader (Reader push int mérete)

Példa:

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

Kimenet
Hello World! 


Java PushbackReader módszerek

Az alábbi kép a CharArrayWriter osztály metódusait mutatja be.

io.PushbackReader osztály Java nyelven


Most az egyes módszereket részletesen tárgyaljuk:

1. olvasd (): Ezzel a módszerrel egy-egy karaktert olvasunk ki az adatfolyamból

Szintaxis:

publikus int read()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert.
  • Visszaküldés típusa: Ez a metódus a beolvasott karaktert egész számként adja vissza, vagy -1-et ad vissza, amikor a folyam végét elérjük.


2. read(char[] carray int offset int maxlen): Ezt a módszert egy karakterdarab olvasására használják.

Szintaxis:

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

  • Paraméter: Ez a módszer három paramétert tartalmaz, amelyeket alább sorolunk fel
    • char[] carray: Ez egy karaktertömb, ahol az olvasott karakterek lesznek tárolva.
    • int eltolás: Ez a kiinduló pozíció a tömbben
    • int maxlen: Ez az olvasható karakterek maximális száma.
  • Visszaküldés típusa: Ez a metódus a beolvasott karakterek számát adja vissza


3. bezár(): Ez a módszer az olvasó bezárására szolgál

Szintaxis:

public void bezár()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit.


4. mark(int readAheadLimit): Ez a módszer az aktuális pozíció megjelölésére szolgál az adatfolyamban

Szintaxis:

public void mark (int readAheadLimit)

  • Paraméter: Ez a módszer egy readAheadLimit paramétert tartalmaz, amely megadja a maximálisan olvasható karakterek számát, mielőtt a jelölés helye érvénytelenné válik.
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit


5. kihagyás (hosszú n): Ez a módszer bizonyos számú karakter kihagyására szolgál.

Szintaxis:

nyilvános hosszú kihagyás (hosszú n)

  • Paraméter: Ez a módszer egy n hosszú paramétert tartalmaz, amely az adatfolyamban átugorandó karakterek száma.
  • Visszaküldés típusa: Ez a módszer az átugrott karakterek számát adja vissza


6. reset(): Ezzel a módszerrel vissza lehet térni arra a pozícióra, ahol a mark() meghívást kapott.

Szintaxis:

public void reset()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit


7. markSupported(): Ez a módszer megmondja, hogy az adatfolyam támogatja-e a jelölést vagy sem

Szintaxis:

publikus logikai markSupported()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert
  • Visszaküldés típusa: Ez a metódus false értéket ad vissza, mert a jelölés nem támogatott.


8. kész(): Ez a módszer ellenőrzi, hogy az adatfolyam készen áll-e az olvasásra vagy sem.

Szintaxis:

nyilvános logikai érték kész()

  • Paraméter: Ez a módszer nem igényel semmilyen paramétert
  • Visszaküldés típusa: Ez a metódus igazat ad vissza, ha az adatfolyam készen áll.


9. olvasatlan (c int): Ezzel a módszerrel a karaktert vissza lehet tolni az adatfolyamba.

Szintaxis:

public void olvasatlan(int c)

  • Paraméter: Ez a metódus egyetlen paramétert vesz fel, ez a c, amely az a karakter, amelyet vissza kell tolni az adatfolyamba.
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit.


10. olvasatlan(char[] carray): Ezzel a módszerrel a karaktertömböt vissza lehet tolni az adatfolyamba.

Szintaxis:

public void olvasatlan (char[] carray)

  • Paraméter: Ez a módszer egy sor karaktert vesz vissza a folyamba.
  • Visszaküldés típusa: Ez a módszer nem ad vissza semmit.


Java program a PushbackReader módszerek bemutatására

Példa:

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

Kimenet
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Kvíz létrehozása

Top Cikkek

Kategória

Érdekes Cikkek