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:
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!
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:
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
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:
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