Java PushbackReader-klasse
De PushbackReader klasse i Java er en del av java.io.pakke og brukes til å lese tegn fra en strøm. Denne klassen lar oss skyve karakterer tilbake i strømmen.
Funksjoner i PushbackReader Class:
- Denne klassen bruker en buffer som lar oss skyve tegn tilbake i strømmen.
- Denne timen er flott for å lese tekst og sjekke tegn uten å bruke dem med en gang. Hvis karakteren ikke er nødvendig, kan den skyves tilbake.
Eksempel:
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 (); } } }
Produksjon
Read character: H Read character again: H Next character: e
Erklæring om PushbackReader-klasse
Declaration of PushbackReader-klassen er oppført nedenfor:
public class PushbackReader utvider FilterReader
Alle implementerte grensesnitt:
- Kan lukkes: Dette grensesnittet brukes til å frigjøre ressurser
- Autolukkbar: Dette grensesnittet tillater automatisk lukking i en prøv-med-ressurser-setning.
- Leselig: Dette grensesnittet brukes til å lese data fra objektet.
Konstruktører i PushbackReader
Denne klassen består av to konstruktører ved hjelp av hvilke vi kan lage objekter til denne klassen på forskjellige måter. Følgende er konstruktørene som er tilgjengelige i denne klassen:
1. PushbackReader(Reader-push): Denne konstruktøren brukes til å lage en ny PushbackReader med en standard pushback-buffer.
Syntaks:
offentlig PushbackReader(Reader-push)
Eksempel:
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 (); } } }
Produksjon
Hello World!
2. PushbackReader (Reader push int størrelse): Denne konstruktøren lar oss spesifisere størrelsen på pushback-bufferen
Syntaks:
offentlig PushbackReader (Reader push int størrelse)
Eksempel:
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 (); } } }
Produksjon
Hello World!
Java PushbackReader-metoder
Bildet nedenfor viser metodene til CharArrayWriter-klassen.
Nå skal vi diskutere hver metode en etter en i detalj:
1. les(): Denne metoden brukes til å lese ett tegn om gangen fra strømmen
Syntaks:
public int read()
- Parameter: Denne metoden tar ikke noen parameter.
- Returtype: Denne metoden returnerer tegnet lest som et heltall eller returnerer -1 når slutten av strømmen er nådd.
2. read(char[] carray int offset int maxlen): Denne metoden brukes til å lese en del av tegn.
Syntaks:
public int read(char[] carray int offset int maxlen)
- Parameter: Denne metoden inkluderer tre parametere som er oppført nedenfor
- char[] carray: Det er en tegnarray der leste tegn vil være lagret.
- int offset: Det er startposisjonen i matrisen
- int maxlen: Det er maksimalt antall tegn å lese.
- Returtype: Denne metoden returnerer antall leste tegn
3. lukk(): Denne metoden brukes til å lukke leseren
Syntaks:
public void close()
- Parameter: Denne metoden tar ikke noen parameter
- Returtype: Denne metoden returnerer ikke noe.
4. mark(int readAheadLimit): Denne metoden brukes til å markere gjeldende posisjon i strømmen
Syntaks:
offentlig ugyldig merke (int readAheadLimit)
- Parameter: Denne metoden inkluderer én parameter readAheadLimit som spesifiserer maksimalt antall tegn som kan leses før merkeposisjonen blir ugyldig.
- Returtype: Denne metoden returnerer ikke noe
5. hopp over (lang n): Denne metoden brukes til å hoppe over et visst antall tegn.
Syntaks:
offentlig langt hopp (lang n)
- Parameter: Denne metoden inkluderer én parameter lang n som er antallet tegn som skal hoppes over i strømmen.
- Returtype: Denne metoden returnerer antall tegn som hoppes over
6. tilbakestill(): Denne metoden brukes til å gå tilbake til posisjonen der mark() ble kalt.
Syntaks:
offentlig void reset()
- Parameter: Denne metoden tar ikke noen parameter
- Returtype: Denne metoden returnerer ikke noe
7. markSupported(): Denne metoden forteller om strømmen støtter merking eller ikke
Syntaks:
offentlig boolesk markSupported()
- Parameter: Denne metoden tar ikke noen parameter
- Returtype: Denne metoden returnerer usann fordi merking ikke støttes.
8. klar(): Denne metoden sjekker om strømmen er klar til å leses eller ikke.
Syntaks:
offentlig boolsk klar()
- Parameter: Denne metoden tar ikke noen parameter
- Returtype: Denne metoden returnerer sann hvis strømmen er klar.
9. ulest(int c): Denne metoden brukes til å skyve karakter tilbake i strømmen.
Syntaks:
offentlig ugyldig ulest (int c)
- Parameter: Denne metoden tar en enkelt parameter som er c som er tegnet som skal skyves tilbake i strømmen.
- Returtype: Denne metoden returnerer ikke noe.
10. ulest(char[] carray): Denne metoden brukes til å skyve en rekke tegn tilbake i strømmen.
Syntaks:
public void ulest(char[] carray)
- Parameter: Denne metoden krever at en rekke tegn skyves tilbake i strømmen.
- Returtype: Denne metoden returnerer ikke noe.
Java-program for å demonstrere PushbackReader-metodene
Eksempel:
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 (); } }
Produksjon
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FLag quiz