logo

Java PushbackReader -luokka

The PushbackReader-luokka Javassa on osa java.io.paketti ja sitä käytetään hahmojen lukemiseen virrasta. Tällä kurssilla voimme työntää hahmoja takaisin streamiin.

PushbackReader-luokan ominaisuudet:

  • Tämä luokka käyttää puskuria, jonka avulla voimme työntää merkkejä takaisin streamiin.
  • Tämä luokka sopii erinomaisesti tekstin lukemiseen ja merkkien tarkistamiseen käyttämättä niitä heti. Jos hahmoa ei tarvita, se voidaan työntää taaksepäin.

Esimerkki:



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

Lähtö
Read character: H Read character again: H Next character: e 


PushbackReader-luokan ilmoitus

PushbackReader-luokan ilmoitus on lueteltu alla:

css-listat

public class PushbackReader laajentaa FilterReaderia

Kaikki toteutetut käyttöliittymät:

  • Suljettava: Tätä käyttöliittymää käytetään resurssien vapauttamiseen
  • Automaattinen sulkeminen: Tämä käyttöliittymä mahdollistaa automaattisen sulkemisen try-with-sources -lausekkeessa.
  • Luettavissa: Tätä käyttöliittymää käytetään tietojen lukemiseen objektista.

PushbackReaderin rakentajat

Tämä luokka koostuu kahdesta konstruktorista, joiden avulla voimme luoda tämän luokan objektia eri tavoin. Tässä luokassa saatavilla olevat rakentajat:

1. PushbackReader (Reader push): Tätä rakentajaa käytetään uuden PushbackReaderin luomiseen oletuspuskurilla.

Syntaksi:

julkinen PushbackReader (Reader push)

Esimerkki:

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

Lähtö
Hello World!


2. PushbackReader(Reader push int size): Tämän rakentajan avulla voimme määrittää pushback-puskurin koon

Syntaksi:

julkinen PushbackReader (Reader push in koko)

Esimerkki:

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

Lähtö
Hello World!


miten komentosarja suoritetaan

Java PushbackReader -menetelmät

Alla oleva kuva esittää CharArrayWriter-luokan menetelmät.

io.PushbackReader-luokka Javassa' title=


Nyt aiomme keskustella jokaisesta menetelmästä yksitellen yksityiskohtaisesti:

1. lue(): Tätä menetelmää käytetään lukemaan yksi merkki kerrallaan virrasta

Syntaksi:

julkinen int read()

  • Parametri: Tämä menetelmä ei ota mitään parametreja.
  • Palautustyyppi: Tämä menetelmä palauttaa luetun merkin kokonaislukuna tai palauttaa -1, kun virran loppu saavutetaan.


2. read(char[] carray int offset int maxlen): Tätä menetelmää käytetään merkkien osan lukemiseen.

Syntaksi:

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

  • Parametri: Tämä menetelmä sisältää kolme parametria, jotka on lueteltu alla
    • char[] carray: Se on merkkijono, jossa luetut merkit ovat tallennettu.
    • int offset: Se on lähtöpaikka taulukossa
    • int maxlen: Se on luettavien merkkien enimmäismäärä.
  • Palautustyyppi: Tämä menetelmä palauttaa luettujen merkkien määrän


3. sulje(): Tätä menetelmää käytetään lukijan sulkemiseen

Syntaksi:

julkinen void sulje()

  • Parametri: Tämä menetelmä ei ota mitään parametreja
  • Palautustyyppi: Tämä menetelmä ei palauta mitään.


4. mark(int readAheadLimit): Tätä menetelmää käytetään nykyisen sijainnin merkitsemiseen streamissa

Syntaksi:

missä on selaimen asetukset

julkinen void merkki (int readAheadLimit)

  • Parametri: Tämä menetelmä sisältää yhden parametrin readAheadLimit, joka määrittää, kuinka monta merkkiä voidaan lukea ennen kuin merkin paikka ei kelpaa.
  • Palautustyyppi: Tämä menetelmä ei palauta mitään


5. ohita (pitkä n): Tätä menetelmää käytetään ohittamaan tietty määrä merkkejä.

Syntaksi:

julkinen pitkä ohitus (pitkä n)

  • Parametri: Tämä menetelmä sisältää yhden parametrin, jonka pituus on n, joka on streamissa ohitettavien merkkien määrä.
  • Palautustyyppi: Tämä menetelmä palauttaa ohitettujen merkkien määrän


6. reset(): Tätä menetelmää käytetään palaamaan kohtaan, jossa mark() kutsuttiin.

Syntaksi:

public void reset()

  • Parametri: Tämä menetelmä ei ota mitään parametreja
  • Palautustyyppi: Tämä menetelmä ei palauta mitään


7. markSupported(): Tämä menetelmä kertoo, tukeeko stream merkitsemistä vai ei

icloud-kuvat Androidille

Syntaksi:

julkinen boolean markSupported()

  • Parametri: Tämä menetelmä ei ota mitään parametreja
  • Palautustyyppi: Tämä menetelmä palauttaa epätosi, koska merkitsemistä ei tueta.


8. valmis(): Tämä menetelmä tarkistaa, onko virta valmis luettavaksi vai ei.

Syntaksi:

julkinen boolean valmis()

  • Parametri: Tämä menetelmä ei ota mitään parametreja
  • Palautustyyppi: Tämä menetelmä palauttaa tosi, jos stream on valmis.


9. lukematon(int c): Tätä menetelmää käytetään työntämään merkki takaisin streamiin.

Syntaksi:

kuinka päivitän javan

public void lukematon (int c)

  • Parametri: Tämä menetelmä ottaa yhden parametrin, joka on c, joka on merkki, joka työnnetään takaisin virtaan.
  • Palautustyyppi: Tämä menetelmä ei palauta mitään.


10. lukematon (char[] carray): Tätä menetelmää käytetään merkkijonon työntämiseen takaisin streamiin.

Syntaksi:

public void lukematon (char[] carray)

  • Parametri: Tämä menetelmä vaatii joukon merkkejä, jotka työnnetään takaisin streamiin.
  • Palautustyyppi: Tämä menetelmä ei palauta mitään.


Java-ohjelma PushbackReader-menetelmien esittelyyn

Esimerkki:

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

Lähtö
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
Luo tietokilpailu