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.
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: FKvíz létrehozása