java.io.PushbackReader es una clase lectora de secuencias de caracteres que permite que los caracteres vuelvan a insertarse en la secuencia.
Declaración:
public class PushbackReader extends FilterReader
Constructores :
- PushbackReader (Reader push): crea un nuevo Pushback Reader: «push» con un búfer Pushback de caracteres.
- PushbackReader(Reader push, int size) : Crea un nuevo Pushback Reader con un búfer Pushback de un tamaño particular.
Métodos de la clase PushbackReader:
- read() : java.io.PushbackReader.read() lee un solo carácter.
Sintaxis:public int read() Parameters : ----------- Return : reads single character from the Pushback buffer else, -1 i.e. when end of file is reached. Exception : -> IOException : If I/O error occurs.
- read(char[] carray, int offset, int maxlen) : java.io.PushbackReader.read(char[] carray, int offset, int maxlen) lee una parte de la array de caracteres
Sintaxis:public int read(char[] carray, int offset, int maxlen) Parameters : carray : destination buffer to be read into offset : starting position of the carray maxlen : maximum no. of characters to be read Return : reads some portion of the character array else, -1 i.e. when end of file is reached. Exception : -> IOException : If I/O error occurs.
- close() : java.io.PushbackReader.close() cierra PushbackReader y libera los recursos del sistema asociados con este flujo a Garbage Collector.
Sintaxis:public void close() Parameters : ------ Return : void Exception : -> IOException : If I/O error occurs.
- mark(int arg) : java.io.PushbackReader.mark(int arg) marca la posición actual de PushbackReader. En el caso de PushbackReader, este método siempre lanza una excepción.
Sintaxis:public void mark(int arg) Parameters : arg : integer specifying the read limit of the Stream Return : void
- skip(long char) : java.io.PushbackReader.skip(long char) salta y descarta ‘char’ no. de caracteres de los datos de PushbackReader.
Sintaxis:public long skip(long char) Parameters : char : no. of bytes of PushbackReader data to skip. Return : no. of bytes to be skipped Exception: -> IOException : in case I/O error occurs
- reset() : java.io.PushbackReader.reset() es invocado por el método mark(). Reposiciona el PushbackReader en la posición marcada. En el caso de PushbackReader, este método siempre lanza una excepción.
Sintaxis:public void reset() Parameters : ---- Return : void Exception : -> IOException : If I/O error occurs.
- markSupported() : java.io.PushbackReader.markSupported() Indica si este flujo admite la operación mark(), que no es así.
Sintaxis:public boolean markSupported() Parameters : ------- Return : true if PushbackReader supports the mark() method else,false
- ready() : java.io.PushbackReader.ready() indica si la secuencia está lista para ser leída o no
Sintaxis :public boolean ready() Parameters : ------- Return : true if the stream is ready to be read else,false
- unread(int char) : java.io.PushbackReader.unread(int char) empuja un solo carácter al búfer Pushback. El siguiente carácter que se leerá tendrá un valor (char)char, después de que este método regrese.
Sintaxis:
public void unread(int char) Parameters : char : int value of the character to be pushed back Return : void Exception : -> IOException : If I/O error occurs or Pushback buffer is full.
- unread(char[] carray) : java.io.PushbackReader.unread(char[] carray) empuja una array de caracteres al búfer Pushback. La array que se empuja tendrá su índice a partir de 0.
Sintaxis:public void unread(char[] carray) Parameters : carray : character array to be pushed back Return : void Exception : -> IOException : If I/O error occurs or Pushback buffer is full.
Código Java que explica el método PushbackReader: read(char[] carray), close(), markSupported(), read(), mark(), ready(), skip(), unread()
// Java program illustrating the working of PushbackReader // read(char[] carray), close(), markSupported() // read(), mark(), ready(), skip(), unread() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { try { // Initializing a StringReader and PushbackReader String s = "GeeksForGeeks" ; StringReader str_reader = new StringReader(s); PushbackReader geek_pushReader1 = new PushbackReader(str_reader); PushbackReader geek_pushReader2 = new PushbackReader(str_reader); // Use of ready() method : System.out.println( "Is stream1 ready : " + geek_pushReader1.ready()); System.out.println( "Is stream2 ready : " + geek_pushReader2.ready()); // Use of read() : System.out.println( "\nWe have used skip() method in 1 : " ); System.out.print( "\nUse of read() in 1 : " ); for ( int i = 0 ; i < 6 ; i++) { char c = ( char ) geek_pushReader1.read(); System.out.print(c); // Use of skip() : geek_pushReader1.skip( 1 ); } System.out.println( "" ); // USing read() : char [] carray = new char [ 20 ]; System.out.println( "Using read() in 2 : " + geek_pushReader2.read(carray)); // USe of markSupported() : System.out.println( "\nIs mark supported in 1 : " + geek_pushReader1.markSupported()); geek_pushReader2.unread( 'F' ); // read the next char, which is the one we unread char c3 = ( char ) geek_pushReader2.read(); System.out.println( "USe of unread() : " + c3); // USe of mark() : geek_pushReader1.mark( 5 ); // Use of close() : geek_pushReader1.close(); } catch (IOException excpt) { System.out.println( "mark not supported in 1" ); } } } |
Producción :
Is stream1 ready : true Is stream2 ready : true We have used skip() method in 1 : Use of read() in 1 : GesoGe Using read() in 2 : 1 Is mark supported in 1 : false USe of unread() : F mark not supported in 1
Este artículo es aportado por Mohit Gupta 🙂 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA