Java PushbackReader-klass
De PushbackReader klass i Java är en del av java.io.paket och används för att läsa tecken från en ström. Den här klassen låter oss trycka tillbaka karaktärer i strömmen.
Funktioner i PushbackReader Class:
- Den här klassen använder en buffert som gör att vi kan trycka tillbaka tecken i strömmen.
- Den här klassen är utmärkt för att läsa text och kontrollera tecken utan att använda dem direkt. Om karaktären inte behövs kan den skjutas tillbaka.
Exempel:
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
Deklaration av PushbackReader-klass
Declaration of PushbackReader-klassen listas nedan:
public class PushbackReader utökar FilterReader
Alla implementerade gränssnitt:
- Stängbar: Detta gränssnitt används för att frigöra resurser
- Autostängbar: Det här gränssnittet tillåter automatisk stängning i ett försök-med-resurser-uttalande.
- Läsbar: Detta gränssnitt används för att läsa data från objektet.
Konstruktörer i PushbackReader
Denna klass består av två konstruktorer med hjälp av vilka vi kan skapa objekt av denna klass på olika sätt. Följande är de konstruktörer som finns tillgängliga i den här klassen:
1. PushbackReader(Reader push): Denna konstruktor används för att skapa en ny PushbackReader med en standard pushback-buffert.
Syntax:
public PushbackReader(Reader push)
Exempel:
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 storlek): Denna konstruktor låter oss specificera storleken på pushback-bufferten
Syntax:
public PushbackReader(Reader push int storlek)
Exempel:
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
Bilden nedan visar metoderna i klassen CharArrayWriter.
Nu ska vi diskutera varje metod en efter en i detalj:
1. läs(): Denna metod används för att läsa ett tecken i taget från strömmen
Syntax:
public int read()
- Parameter: Denna metod tar inte någon parameter.
- Returtyp: Denna metod returnerar tecknet som läses som ett heltal eller returnerar -1 när slutet av strömmen nås.
2. read(char[] carray int offset int maxlen): Denna metod används för att läsa en del tecken.
Syntax:
public int read(char[] carray int offset int maxlen)
- Parameter: Denna metod inkluderar tre parametrar som listas nedan
- char[] carray: Det är en teckenuppsättning där lästa tecken kommer att finnas lagras.
- int offset: Det är startpositionen i arrayen
- int maxlen: Det är det maximala antalet tecken att läsa.
- Returtyp: Denna metod returnerar antalet lästa tecken
3. stäng(): Denna metod används för att stänga läsaren
Syntax:
public void close()
- Parameter: Denna metod tar inte någon parameter
- Returtyp: Denna metod returnerar ingenting.
4. mark(int readAheadLimit): Denna metod används för att markera den aktuella positionen i strömmen
Syntax:
public void mark (int readAheadLimit)
- Parameter: Denna metod inkluderar en parameter readAheadLimit som anger det maximala antalet tecken som kan läsas innan markeringspositionen blir ogiltig.
- Returtyp: Denna metod returnerar ingenting
5. hoppa över (långt n): Denna metod används för att hoppa över ett visst antal tecken.
Syntax:
offentligt långt hoppa (långt n)
- Parameter: Denna metod inkluderar en parameter lång n som är antalet tecken att hoppa över i strömmen.
- Returtyp: Denna metod returnerar antalet tecken som hoppas över
6. återställ(): Denna metod används för att gå tillbaka till positionen där mark() anropades.
Syntax:
public void reset()
- Parameter: Denna metod tar inte någon parameter
- Returtyp: Denna metod returnerar ingenting
7. markSupported(): Denna metod talar om om strömmen stöder märkning eller inte
Syntax:
public boolean markSupported()
- Parameter: Denna metod tar inte någon parameter
- Returtyp: Den här metoden returnerar false eftersom markering inte stöds.
8. redo(): Denna metod kontrollerar om strömmen är redo att läsas eller inte.
Syntax:
public boolean ready()
- Parameter: Denna metod tar inte någon parameter
- Returtyp: Denna metod returnerar sant om strömmen är klar.
9. oläst(int c): Denna metod används för att trycka tillbaka tecken i strömmen.
Syntax:
public void oläst(int c)
- Parameter: Denna metod tar en enda parameter som är c som är tecknet som ska tryckas tillbaka in i strömmen.
- Returtyp: Denna metod returnerar ingenting.
10. oläst(char[] carray): Den här metoden används för att skjuta en rad tecken tillbaka i strömmen.
Syntax:
public void oläst(char[] carray)
- Parameter: Den här metoden kräver att en rad tecken skjuts tillbaka in i strömmen.
- Returtyp: Denna metod returnerar ingenting.
Java-program för att demonstrera PushbackReader-metoderna
Exempel:
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: FSkapa frågesport