Java PushbackReader klasse
De PushbackReader klasse i Java er en del af java.io.pakke og bruges til at læse tegn fra en strøm. Denne klasse lader os skubbe karakterer tilbage i strømmen.
Funktioner i PushbackReader Class:
- Denne klasse bruger en buffer, der giver os mulighed for at skubbe karakterer tilbage i strømmen.
- Denne klasse er fantastisk til at læse tekst og tjekke tegn uden at bruge dem med det samme. Hvis karakteren ikke er nødvendig, kan den skubbes tilbage.
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 (); } } }
Produktion
Read character: H Read character again: H Next character: e
Erklæring om PushbackReader-klasse
Declaration of PushbackReader-klassen er anført nedenfor:
public class PushbackReader udvider FilterReader
Alle implementerede grænseflader:
- Kan lukkes: Denne grænseflade bruges til at frigive ressourcer
- Autolukbar: Denne grænseflade tillader automatisk lukning i en prøv-med-ressourcer-erklæring.
- Læselig: Denne grænseflade bruges til at læse data fra objektet.
Konstruktører i PushbackReader
Denne klasse består af to konstruktører, ved hjælp af hvilke vi kan skabe objekter for denne klasse på forskellige måder. Følgende er konstruktørerne tilgængelige i denne klasse:
1. PushbackReader(Læser-push): Denne konstruktør bruges til at oprette 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 (); } } }
Produktion
Hello World!
2. PushbackReader(Reader push int størrelse): Denne konstruktør giver os mulighed for at angive størrelsen af 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 (); } } }
Produktion
Hello World!
Java PushbackReader-metoder
Billedet nedenfor viser metoderne til CharArrayWriter-klassen.
Nu skal vi diskutere hver metode en efter en i detaljer:
1. læs(): Denne metode bruges til at læse et tegn ad gangen fra strømmen
Syntaks:
public int read()
- Parameter: Denne metode tager ikke nogen parameter.
- Returtype: Denne metode returnerer tegnet læst som et heltal eller returnerer -1, når slutningen af strømmen nås.
2. read(char[] carray int offset int maxlen): Denne metode bruges til at læse en del af tegn.
Syntaks:
public int read(char[] carray int offset int maxlen)
- Parameter: Denne metode omfatter tre parametre, som er anført nedenfor
- char[] carray: Det er et tegnarray, hvor læste tegn vil være gemt.
- int offset: Det er startpositionen i arrayet
- int maxlen: Det er det maksimale antal tegn at læse.
- Returtype: Denne metode returnerer antallet af læste tegn
3. luk(): Denne metode bruges til at lukke læseren
Syntaks:
public void close()
- Parameter: Denne metode tager ikke nogen parameter
- Returtype: Denne metode returnerer ikke noget.
4. mark(int readAheadLimit): Denne metode bruges til at markere den aktuelle position i strømmen
Syntaks:
offentligt ugyldigt mærke (int readAheadLimit)
- Parameter: Denne metode inkluderer én parameter readAheadLimit, som angiver det maksimale antal tegn, der kan læses, før mærkepositionen bliver ugyldig.
- Returtype: Denne metode returnerer ikke noget
5. spring (langt n): Denne metode bruges til at springe et bestemt antal tegn over.
Syntaks:
offentligt langt overspring (langt n)
- Parameter: Denne metode inkluderer én parameter lang n, som er antallet af tegn, der skal springes over i strømmen.
- Returtype: Denne metode returnerer antallet af tegn, der springes over
6. nulstil(): Denne metode bruges til at gå tilbage til den position, hvor mark() blev kaldt.
Syntaks:
offentlig ugyldig nulstilling()
- Parameter: Denne metode tager ikke nogen parameter
- Returtype: Denne metode returnerer ikke noget
7. markSupported(): Denne metode fortæller, om strømmen understøtter markering eller ej
Syntaks:
offentlig boolesk markSupported()
- Parameter: Denne metode tager ikke nogen parameter
- Returtype: Denne metode returnerer falsk, fordi markering ikke understøttes.
8. klar(): Denne metode kontrollerer, om streamen er klar til at læse eller ej.
Syntaks:
offentlig boolesk klar()
- Parameter: Denne metode tager ikke nogen parameter
- Returtype: Denne metode returnerer sand, hvis streamen er klar.
9. ulæst (int c): Denne metode bruges til at skubbe karakter tilbage i strømmen.
Syntaks:
public void ulæst (int c)
- Parameter: Denne metode tager en enkelt parameter, der er c, som er det tegn, der skal skubbes tilbage i strømmen.
- Returtype: Denne metode returnerer ikke noget.
10. ulæst(char[] carray): Denne metode bruges til at skubbe række af tegn tilbage i strømmen.
Syntaks:
public void ulæst(char[] carray)
- Parameter: Denne metode kræver, at en række tegn skubbes tilbage i strømmen.
- Returtype: Denne metode returnerer ikke noget.
Java-program til at demonstrere PushbackReader-metoderne
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 (); } }
Produktion
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FOpret quiz