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.

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: FLuo tietokilpailu