Clase abstracta para leer flujos de caracteres filtrados. La propia clase abstracta FilterReader proporciona métodos predeterminados que pasan todas las requests al flujo contenido. Las subclases de FilterReader deben anular algunos de estos métodos y también pueden proporcionar métodos y campos adicionales.
Constructor:
- protected FilterReader(Reader in) : Crea un nuevo lector filtrado.
Métodos:
- void close() : Cierra la secuencia y libera cualquier recurso del sistema asociado con ella. Una vez que se ha cerrado la secuencia, las invocaciones adicionales de read(), ready(), mark(), reset() o skip() arrojarán una IOException . Cerrar una transmisión previamente cerrada no tiene ningún efecto.
Syntax :public void close() throws IOException Throws: IOException
- void mark(int readAheadLimit) : Marca la posición actual en la secuencia.
Syntax :public void mark(int readAheadLimit) throws IOException Parameters: readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail. Throws: IOException
- boolean markSupported() : indica si esta secuencia admite la operación mark().
Syntax :public boolean markSupported() Returns: true if and only if this stream supports the mark operation.
- int read() : Lee un solo carácter.
Syntax :public int read() throws IOException Returns: The character read, as an integer in the range 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached Throws: IOException
- int read(char[] cbuf, int off, int len) : Lee caracteres en una parte de una array.
Syntax :public int read(char[] cbuf, int off, int len) throws IOException Parameters: cbuf - Destination buffer off - Offset at which to start storing characters len - Maximum number of characters to read Returns: The number of characters read, or -1 if the end of the stream has been reached Throws: IOException
- boolean ready() : indica si este flujo está listo para ser leído.
Syntax :public boolean ready() throws IOException Returns: True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block. Throws: IOException
- void reset() : reinicia la transmisión.
Syntax :public void reset() throws IOException Throws: IOException
- long skip(long n) : Salta caracteres.
Syntax :public long skip(long n) throws IOException Parameters: n - The number of characters to skip Returns: The number of characters actually skipped Throws: IOException
Programa :
//Java program illustrating FilterReader class methods import java.io.*; class FilterReaderdemo { public static void main(String[] args) throws IOException { Reader r = new StringReader("GeeksforGeeks"); FilterReader fr = new FilterReader(r) { }; char ch[] = new char[8]; //illustrating markSupported() if(fr.markSupported()) { //illustrating mark() method System.out.println("mark method is supported"); fr.mark(100); } //illustrating skip() method fr.skip(5); //illustrating ready() if(fr.ready()) { //illustrating read(char[] cbuff,int off,int len) fr.read(ch); for (int i = 0; i < 8; i++) { System.out.print(ch[i]); } //illustrating reset() fr.reset(); for (int i = 0; i <5 ; i++) { //illustrating read() System.out.print((char)fr.read()); } } //closing the stream fr.close(); } }
Producción :
mark method is supported forGeeksGeeks
Este artículo es una contribución de Nishant Sharma . 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