logo

Klasa Java PushbackReader

The Klasa PushbackReader u Javi je dio java.io.package i koristi se za čitanje znakova iz toka. Ova nam klasa omogućuje vraćanje znakova u tok.

Značajke klase PushbackReader:

  • Ova klasa koristi međuspremnik koji nam omogućuje vraćanje znakova natrag u tok.
  • Ova je klasa izvrsna za čitanje teksta i provjeru znakova bez da ih odmah koristite. Ako lik nije potreban, može se gurnuti natrag.

Primjer:



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

Izlaz
Read character: H Read character again: H Next character: e 


Deklaracija klase PushbackReader

Deklaracija klase PushbackReader navedena je u nastavku:

java apstraktna klasa

javna klasa PushbackReader proširuje FilterReader

Sva implementirana sučelja:

  • Može se zatvoriti: Ovo se sučelje koristi za oslobađanje resursa
  • Automatsko zatvaranje: Ovo sučelje omogućuje automatsko zatvaranje u izjavi try-with-resources.
  • Čitljiv: Ovo sučelje se koristi za čitanje podataka iz objekta.

Konstruktori u PushbackReaderu

Ova klasa se sastoji od dva konstruktora uz pomoć kojih objekt ove klase možemo kreirati na različite načine. Sljedeći su konstruktori dostupni u ovoj klasi:

1. PushbackReader(Reader push): Ovaj se konstruktor koristi za stvaranje novog PushbackReader-a sa zadanim povratnim međuspremnikom.

Sintaksa:

Primjer:

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

Izlaz
Hello World!


2. PushbackReader (Reader push int size): Ovaj nam konstruktor omogućuje da odredimo veličinu povratnog međuspremnika

Sintaksa:

public PushbackReader(Reader push int size)

Primjer:

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

Izlaz
Hello World!


pretvorba niza u int u Javi

Java PushbackReader metode

Slika ispod pokazuje metode klase CharArrayWriter.

io.PushbackReader Klasa u Javi' title=


Sada ćemo detaljno razmotriti svaku metodu jednu po jednu:

1. čitaj(): Ova se metoda koristi za čitanje jednog po jednog znaka iz toka

Sintaksa:

public int read()

  • Parametar: Ova metoda ne uzima nikakve parametre.
  • Vrsta povrata: Ova metoda vraća pročitani znak kao cijeli broj ili vraća -1 kada se dosegne kraj toka.


2. read(char[] carray int offset int maxlen): Ova se metoda koristi za čitanje dijela znakova.

usporedite s nizovima u Javi

Sintaksa:

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

  • Parametar: Ova metoda uključuje tri parametra koja su navedena u nastavku
    • char[] prijenos: To je niz znakova u kojem će biti pročitani znakovi pohranjeno.
    • int pomak: To je početna pozicija u nizu
    • int maxlen: To je najveći broj znakova za čitanje.
  • Vrsta povrata: Ova metoda vraća broj pročitanih znakova


3. zatvori(): Ova metoda se koristi za zatvaranje čitača

Sintaksa:

public void close()

  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda ne vraća ništa.


4. mark(int readAheadLimit): Ova metoda se koristi za označavanje trenutne pozicije u toku

Sintaksa:

javna nevažeća oznaka (int readAheadLimit)

  • Parametar: Ova metoda uključuje jedan parametar readAheadLimit koji specificira najveći broj znakova koji se mogu pročitati prije nego što položaj oznake postane nevažeći.
  • Vrsta povrata: Ova metoda ne vraća ništa


5. preskoči (dugo n): Ova metoda se koristi za preskakanje određenog broja znakova.

Sintaksa:

javno dugo preskakanje (dugo n)

  • Parametar: Ova metoda uključuje jedan parametar dug n koji je broj znakova za preskakanje u toku.
  • Vrsta povrata: Ova metoda vraća broj znakova koji je preskočen


6. reset(): Ova metoda se koristi za povratak na poziciju gdje je mark() pozvan.

Sintaksa:

javni void reset()

booleov niz java
  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda ne vraća ništa


7. markSupported(): Ova metoda govori podržava li tok označavanje ili ne

Sintaksa:

javna booleova markaSupported()

  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda vraća false jer označavanje nije podržano.


8. spreman(): Ova metoda provjerava je li tok spreman za čitanje ili ne.

Sintaksa:

javni Booleov spreman()

  • Parametar: Ova metoda ne uzima nikakve parametre
  • Vrsta povrata: Ova metoda vraća true ako je tok spreman.


9. nepročitano(int c): Ova se metoda koristi za vraćanje znaka u tok.

Sintaksa:

javni void nepročitano(int c)

  • Parametar: Ova metoda uzima jedan parametar koji je c, a to je znak koji se vraća u tok.
  • Vrsta povrata: Ova metoda ne vraća ništa.


10. nepročitano (char[] carray): Ova se metoda koristi za vraćanje niza znakova natrag u tok.

terminal kali linux

Sintaksa:

javni void nepročitano(char[] carray)

  • Parametar: Ova metoda uzima niz znakova koji se vraćaju u tok.
  • Vrsta povrata: Ova metoda ne vraća ništa.


Java program za demonstraciju metoda PushbackReader

Primjer:

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

Izlaz
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
Napravi kviz