Clase Java.io.FilterReader en Java

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *