logo

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:

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.

Třída io.PushbackReader v Javě' title=


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