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.
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: FVytvoriť kvíz