Der PushbackReader-Klasse in Java ist Teil der java.io.package und wird zum Lesen von Zeichen aus einem Stream verwendet. Mit dieser Klasse können wir Zeichen zurück in den Stream schieben.
Funktionen der PushbackReader-Klasse:
- Diese Klasse verwendet einen Puffer, der es uns ermöglicht, Zeichen zurück in den Stream zu schieben.
- Dieser Kurs eignet sich hervorragend zum Lesen von Texten und zum Überprüfen von Zeichen, ohne sie sofort zu verwenden. Wenn der Charakter nicht benötigt wird, kann er zurückgeschoben werden.
Beispiel:
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(); } } }
Ausgabe
Read character: H Read character again: H Next character: e
Deklaration der PushbackReader-Klasse
Die Deklaration der PushbackReader-Klasse ist unten aufgeführt:
JQuery-Elternteil
Die öffentliche Klasse PushbackReader erweitert FilterReader
Alle implementierten Schnittstellen:
- Verschließbar: Über diese Schnittstelle werden Ressourcen freigegeben
- AutoCloseable: Diese Schnittstelle ermöglicht das automatische Schließen in einer try-with-resources-Anweisung.
- Lesbar: Über diese Schnittstelle werden Daten aus dem Objekt gelesen.
Konstruktoren in PushbackReader
Diese Klasse besteht aus zwei Konstruktoren, mit deren Hilfe wir Objekte dieser Klasse auf unterschiedliche Weise erstellen können. Die folgenden Konstruktoren sind in dieser Klasse verfügbar:
1. PushbackReader (Leser-Push): Dieser Konstruktor wird verwendet, um einen neuen PushbackReader mit einem Standard-Pushback-Puffer zu erstellen.
Syntax:
öffentlicher PushbackReader (Leser-Push)
Beispiel:
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(); } } }
Ausgabe
Hello World!
2. PushbackReader (Reader-Push-Int-Größe): Mit diesem Konstruktor können wir die Größe des Pushback-Puffers angeben
Syntax:
public PushbackReader(Reader push int size)
Beispiel:
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(); } } }
Ausgabe
Hello World!
So konvertieren Sie eine Ganzzahl in einen String Java
Java PushbackReader-Methoden
Das Bild unten zeigt die Methoden der CharArrayWriter-Klasse.

Jetzt werden wir jede Methode einzeln im Detail besprechen:
1. read(): Mit dieser Methode wird jeweils ein Zeichen aus dem Stream gelesen
Syntax:
public int read()
- Parameter: Diese Methode benötigt keine Parameter.
- Rückgabetyp: Diese Methode gibt das gelesene Zeichen als Ganzzahl zurück oder gibt -1 zurück, wenn das Ende des Streams erreicht ist.
2. read(char[] carray int offset int maxlen): Mit dieser Methode wird ein Block von Zeichen gelesen.
Arrayliste in Java sortieren
Syntax:
public int read(char[] carray int offset int maxlen)
- Parameter: Diese Methode umfasst drei Parameter, die unten aufgeführt sind
- char[] Träger: Es handelt sich um ein Zeichenarray, in dem sich die gelesenen Zeichen befinden gelagert.
- int-Offset: Es ist die Startposition im Array
- int maxlen: Dies ist die maximale Anzahl der zu lesenden Zeichen.
- Rückgabetyp: Diese Methode gibt die Anzahl der gelesenen Zeichen zurück
3. close(): Mit dieser Methode wird der Reader geschlossen
Syntax:
public void close()
- Parameter: Diese Methode benötigt keine Parameter
- Rückgabetyp: Diese Methode gibt nichts zurück.
4. mark(int readAheadLimit): Mit dieser Methode wird die aktuelle Position im Stream markiert
Syntax:
öffentliches ungültiges Zeichen (int readAheadLimit)
- Parameter: Diese Methode enthält einen Parameter readAheadLimit, der die maximale Anzahl von Zeichen angibt, die gelesen werden können, bevor die Markierungsposition ungültig wird.
- Rückgabetyp: Diese Methode gibt nichts zurück
5. überspringen(langes n): Diese Methode wird verwendet, um eine bestimmte Anzahl von Zeichen zu überspringen.
Syntax:
öffentlicher langer Sprung (langes n)
- Parameter: Diese Methode enthält einen Parameter long n, der die Anzahl der Zeichen angibt, die im Stream übersprungen werden sollen.
- Rückgabetyp: Diese Methode gibt die Anzahl der übersprungenen Zeichen zurück
6. reset(): Diese Methode wird verwendet, um zu der Position zurückzukehren, an der mark() aufgerufen wurde.
Syntax:
public void reset()
Vererbung in C++
- Parameter: Diese Methode benötigt keine Parameter
- Rückgabetyp: Diese Methode gibt nichts zurück
7. markSupported(): Diese Methode gibt an, ob der Stream das Markieren unterstützt oder nicht
Syntax:
öffentliches boolesches markSupported()
- Parameter: Diese Methode benötigt keine Parameter
- Rückgabetyp: Diese Methode gibt false zurück, da die Markierung nicht unterstützt wird.
8. bereit(): Diese Methode prüft, ob der Stream zum Lesen bereit ist oder nicht.
Syntax:
öffentlicher boolescher Wert ready()
- Parameter: Diese Methode benötigt keine Parameter
- Rückgabetyp: Diese Methode gibt true zurück, wenn der Stream bereit ist.
9. ungelesen(int c): Diese Methode wird verwendet, um Zeichen zurück in den Stream zu schieben.
Syntax:
öffentliche Leere ungelesen(int c)
- Parameter: Diese Methode benötigt einen einzelnen Parameter, nämlich c, bei dem es sich um das Zeichen handelt, das zurück in den Stream verschoben werden soll.
- Rückgabetyp: Diese Methode gibt nichts zurück.
10. unread(char[] carray): Diese Methode wird verwendet, um ein Array von Zeichen zurück in den Stream zu verschieben.
Blasensortierung im Algorithmus
Syntax:
public void unread(char[] carray)
- Parameter: Bei dieser Methode wird ein Array von Zeichen in den Stream zurückgeschoben.
- Rückgabetyp: Diese Methode gibt nichts zurück.
Java-Programm zur Demonstration der PushbackReader-Methoden
Beispiel:
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(); } }
Ausgabe
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FQuiz erstellen