Método BufferedReader read() en Java con ejemplos

El método read() de la clase BufferedReader en Java es de dos tipos:

1. El método read() de la clase BufferedReader en Java se usa para leer un solo carácter del lector almacenado en búfer dado. Este método read() lee un carácter a la vez del flujo almacenado en búfer y lo devuelve como un valor entero.

Sintaxis:

public int read() 
          throws IOException

Anula: anula el método read() de la clase Reader .

Parámetros: Este método no acepta ningún parámetro.

Valor devuelto: este método devuelve el carácter que lee este método en forma de un número entero. Si la secuencia almacenada en búfer ha finalizado y no hay ningún carácter para leer, este método devuelve -1.

Excepciones: este método lanza IOException si ocurre un error de E/S.

El siguiente programa ilustra el método read() en la clase BufferedReader en el paquete IO:

Programa: Suponga la existencia del archivo “c:/demo.txt”.

// Java program to illustrate
// BufferedReader read() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Read the stream 'demo.txt'
        // containing text "GEEKSFORGEEKS"
        FileReader fileReader
            = new FileReader(
                "c:/demo.txt");
  
        // Convert fileReader to
        // bufferedReader
        BufferedReader buffReader
            = new BufferedReader(
                fileReader);
  
        while (buffReader.ready()) {
            // Read and print characters one by one
            // by converting into character
            System.out.println("Char :"
                               + (char)buffReader.read());
        }
    }
}
Aporte:
Producción:

2. El método read(char[ ], int, int) de la clase BufferedReader en Java se usa para leer caracteres en una parte de una array específica.

Contrato general:
El contrato general de este método read() es el siguiente:

  • Lee el máximo de caracteres posibles llamando una y otra vez al método read() del flujo principal.
  • Continúa hasta la lectura del número especificado de caracteres o hasta el final del archivo o hasta que el método ready() haya devuelto falso.

Especificado por: este método está especificado por el método read() de la clase Reader .

Sintaxis:

public int read(char[] cbuf,
                int offset,
                int length)
         throws IOException

Parámetros: Este método acepta tres parámetros:

  • cbuf : representa el búfer de destino.
  • offset – Representa el punto de partida para almacenar los caracteres.
  • longitud : representa el número máximo de caracteres que se va a leer.

Valor devuelto: este método devuelve el número de caracteres que lee este método. Si la secuencia almacenada en búfer ha finalizado y no hay ningún carácter para leer, este método devuelve -1.

Excepciones: este método lanza IOException si ocurre un error de E/S.

El siguiente programa ilustra el método de lectura (char, int, int) en la clase BufferedReader en el paquete IO:

Programa: Suponga la existencia del archivo “c:/demo.txt”.

// Java program to illustrate
// BufferedReader read(char, int, int) method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Read the stream 'demo.txt'
        // containing text "GEEKSFORGEEKS"
        FileReader fileReader
            = new FileReader(
                "c:/demo.txt");
  
        // Convert fileReader to
        // bufferedReader
        BufferedReader buffReader
            = new BufferedReader(
                fileReader);
  
        // Create a character array
        char[] cbuf = new char[13];
  
        // Initialize and declare
        // offset and length
        int offset = 2;
        int length = 5;
  
        // Calling read() method
        // on buffer reader
        System.out.println(
            "Total number of characters read: "
            + buffReader.read(
                  cbuf, offset, length));
  
        // For each char in cbuf
        for (char c : cbuf) {
            if (c == (char)0)
                c = '-';
            System.out.print((char)c);
        }
    }
}
Aporte:
Producción:

Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#read()
https://docs.oracle.com/javase/10/docs/api/java /io/BufferedReader.html#read(char%5B%5D, int, int)

Publicación traducida automáticamente

Artículo escrito por pp_pankaj 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 *