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:
co je hibernace
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!
dělat v Javě
Metody Java PushbackReader
Obrázek níže ukazuje metody třídy CharArrayWriter.

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()
řetězec do data
- 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()
řazení vložení v jazyce Java
- 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()
css přechod opacity
- 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: FVytvořit kvíz