Clase Java.io.BufferedReader en Java

Lee texto de un flujo de entrada de caracteres, almacenando en búfer los caracteres para proporcionar una lectura eficiente de caracteres, arrays y líneas. Se puede especificar el tamaño del búfer o se puede usar el tamaño predeterminado. El valor predeterminado es lo suficientemente grande para la mayoría de los propósitos. En general, cada solicitud de lectura realizada por un Lector hace que se realice una solicitud de lectura correspondiente del flujo de caracteres o bytes subyacente. Por lo tanto, es recomendable envolver un BufferedReader alrededor de cualquier Reader cuyas operaciones de lectura() puedan ser costosas, como FileReaders y InputStreamReaders. Los programas que usan DataInputStreams para la entrada de texto se pueden localizar reemplazando cada DataInputStream con un BufferedReader apropiado .

Constructores de la clase BufferedReader 

Constructor Acción realizada
BufferedReader (lector de entrada) Crea un flujo de entrada de caracteres de almacenamiento en búfer que utiliza un búfer de entrada de tamaño predeterminado
BufferedReader (Lector de entrada, int sz) Crea un flujo de entrada de caracteres de almacenamiento en búfer que usa un búfer de entrada del tamaño especificado.

Métodos de la clase BufferedReader

Nombre del método Acción 
cerca() Cierra la secuencia y libera todos los recursos del sistema asociados 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.
Marcos() Marca la posición actual en la secuencia. Las llamadas subsiguientes a reset() intentarán reposicionar la transmisión a este punto.
marcaCompatible() Indica si este flujo es compatible con la operación mark(), lo cual es cierto.
leer() Lee un solo carácter.
read(char[] cbuf, int off, int len) Lee caracteres en una parte de una array. Este método implementa el contrato general del método de lectura correspondiente de la clase Reader. Como conveniencia adicional, intenta leer tantos caracteres como sea posible invocando repetidamente el método de lectura del flujo subyacente.
leerLinea() Lee una línea de texto. Se considera que una línea termina con un salto de línea (‘\n’), un retorno de carro (‘\r’) o un retorno de carro seguido inmediatamente por un salto de línea.
Listo() Indica si esta transmisión está lista para ser leída.
Reiniciar() Restablece la secuencia a la marca más reciente.
saltar (largo) Salta caracteres.

Implementación: El contenido dentro del archivo es el siguiente:

This is first line
this is second line

Ejemplo

Java

// Java Program to Illustrate BufferedReader Class
// Via Its Methods
  
// Importing required classes
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
  
// Class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
  
        // Creating object of FileReader and BufferedReader
        // class
        FileReader fr = new FileReader("file.txt");
        BufferedReader br = new BufferedReader(fr);
  
        char c[] = new char[20];
  
        // Illustrating markSupported() method
        if (br.markSupported()) {
  
            // Print statement
            System.out.println(
                "mark() method is supported");
  
            // Illustrating mark method
            br.mark(100);
        }
  
        // File Contents is as follows:
        // This is first line
        // this is second line
  
        // Skipping 8 characters
        br.skip(8);
  
        // Illustrating ready() method
        if (br.ready()) {
  
            // Illustrating readLine() method
            System.out.println(br.readLine());
  
            // Illustrating read(char c[],int off,int len)
            br.read(c);
  
            for (int i = 0; i < 20; i++) {
                System.out.print(c[i]);
            }
  
            System.out.println();
  
            // Illustrating reset() method
            br.reset();
            for (int i = 0; i < 8; i++) {
  
                // Illustrating read() method
                System.out.print((char)br.read());
            }
        }
    }
}

Producción:

mark() method is supported
first line
this is second line
This is 

Este artículo es una contribución de Nishant Sharma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@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 *