Clase Java PushbackReader
El Clase PushbackReader en Java es parte del paquete java.io. y se utiliza para leer caracteres de una secuencia. Esta clase nos permite devolver los personajes a la secuencia.
Características de la clase PushbackReader:
- Esta clase utiliza un búfer que nos permite enviar caracteres nuevamente a la secuencia.
- Esta clase es excelente para leer texto y verificar caracteres sin usarlos de inmediato. Si el personaje no es necesario, se puede hacer retroceder.
Ejemplo:
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 (); } } }
Producción
Read character: H Read character again: H Next character: e
Declaración de clase PushbackReader
La declaración de la clase PushbackReader se enumera a continuación:
La clase pública PushbackReader extiende FilterReader
Todas las interfaces implementadas:
- Cerrable: Esta interfaz se utiliza para liberar recursos.
- Cierre automático: Esta interfaz permite el cierre automático en una declaración de prueba con recursos.
- Legible: Esta interfaz se utiliza para leer datos del objeto.
Constructores en PushbackReader
Esta clase consta de dos constructores con la ayuda de los cuales podemos crear objetos de esta clase de diferentes maneras. Los siguientes son los constructores disponibles en esta clase:
1. PushbackReader(Empuje del lector): Este constructor se utiliza para crear un nuevo PushbackReader con un búfer de devolución predeterminado.
Sintaxis:
PushbackReader público (empuje del lector)
Ejemplo:
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 (); } } }
Producción
Hello World!
2. PushbackReader (tamaño int de inserción del lector): Este constructor nos permite especificar el tamaño del buffer de pushback.
Sintaxis:
PushbackReader público (tamaño int de inserción del lector)
Ejemplo:
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 (); } } }
Producción
Hello World!
Métodos Java PushbackReader
La siguiente imagen muestra los métodos de la clase CharArrayWriter.
Ahora vamos a discutir cada método uno por uno en detalle:
1. leer(): Este método se utiliza para leer un carácter a la vez de la secuencia.
Sintaxis:
lectura int pública()
- Parámetro: Este método no toma ningún parámetro.
- Tipo de devolución: Este método devuelve el carácter leído como un número entero o devuelve -1 cuando se llega al final de la secuencia.
2. leer(char[] carray int offset int maxlen): Este método se utiliza para leer un fragmento de caracteres.
Sintaxis:
public int read(char[] carray int offset int maxlen)
- Parámetro: Este método incluye tres parámetros que se enumeran a continuación.
- char[] carray: Es una matriz de caracteres donde estarán los caracteres leídos. almacenado.
- compensación interna: Es la posición inicial en la matriz.
- int maxlen: Es el número máximo de caracteres a leer.
- Tipo de devolución: Este método devuelve el número de caracteres leídos.
3. cerrar(): Este método se utiliza para cerrar el lector.
Sintaxis:
cierre de vacío público()
- Parámetro: Este método no toma ningún parámetro.
- Tipo de devolución: Este método no devuelve nada.
4. marca (int readAheadLimit): Este método se utiliza para marcar la posición actual en la secuencia.
Sintaxis:
marca de vacío público (int readAheadLimit)
- Parámetro: Este método incluye un parámetro readAheadLimit que especifica el número máximo de caracteres que se pueden leer antes de que la posición de la marca deje de ser válida.
- Tipo de devolución: Este método no devuelve nada.
5. saltar(n larga): Este método se utiliza para omitir cierta cantidad de caracteres.
Sintaxis:
salto largo público (n largo)
- Parámetro: Este método incluye un parámetro de longitud n, que es la cantidad de caracteres que se deben omitir en la secuencia.
- Tipo de devolución: Este método devuelve el número de caracteres que se omiten.
6. restablecer(): Este método se utiliza para volver a la posición donde se llamó a mark().
Sintaxis:
reinicio de vacío público()
- Parámetro: Este método no toma ningún parámetro.
- Tipo de devolución: Este método no devuelve nada.
7. marcaSupported(): Este método indica si la secuencia admite el marcado o no.
Sintaxis:
marca booleana públicaSupported()
- Parámetro: Este método no toma ningún parámetro.
- Tipo de devolución: Este método devuelve falso porque no se admite el marcado.
8. listo(): Este método comprueba si la transmisión está lista para leer o no.
Sintaxis:
público booleano listo()
- Parámetro: Este método no toma ningún parámetro.
- Tipo de devolución: Este método devuelve verdadero si la transmisión está lista.
9. no leído(int c): Este método se utiliza para devolver el carácter a la secuencia.
Sintaxis:
vacío público no leído (int c)
- Parámetro: Este método toma un único parámetro que es c, que es el carácter que se devolverá a la secuencia.
- Tipo de devolución: Este método no devuelve nada.
10. no leído(char[] carray): Este método se utiliza para devolver una serie de caracteres a la secuencia.
Sintaxis:
vacío público no leído (char[] carray)
- Parámetro: Este método toma una serie de caracteres para volver a insertarlos en la secuencia.
- Tipo de devolución: Este método no devuelve nada.
Programa Java para demostrar los métodos PushbackReader
Ejemplo:
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 (); } }
Producción
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: FCrear cuestionario