¿Qué es FileReader en Java y cómo se usa para leer archivos?

| Última modificación: 3 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

No le tengas miedo a trabajar con archivos de texto en Java. Sí, puede ser un poco intimidante, pero si aprendes todo sobre la clase FileReader en Java podrás leer datos de archivos de texto y obtener los datos en formato de caracteres como un profesional. Te explicó qué es y cómo se usa, además te he preparado un ejemplo práctico para que lo uses de inmediato en tus programas.

FileReader en Java qué es

¿Qué es FileReader en Java?

FileReader es una clase que permite la lectura de datos basados en caracteres desde un archivo. Por lo general se usa cuando se desea leer texto de un archivo sin tener complicaciones. Esta clase extiende InputStreamReader, por eso puede leer datos de archivos de texto utilizando un flujo de caracteres. Es la opción más directa y cómoda que encontrarás para manejar archivos de texto en Java.

Cuando uses FileReader en Java, puedes abrir un archivo y leer sus caracteres uno por uno. Sin embargo, no te servirá si necesitas leer grandes volúmenes de datos, ya que su rendimiento puede no ser tan bueno en comparación con otros métodos como BufferedReader.

Sintaxis básica de FileReader en Java

No puedes olvidar lo siguiente: cuando vayas a usar FileReader en Java tienes que crear una instancia de la clase y pasarle la ruta del archivo que deseas leer.

Obsérvalo mejor aquí:

FileReader fr = new FileReader("ruta/al/archivo.txt");

Mira bien que “ruta/al/archivo.txt” debe ser reemplazada por la ubicación real de tu archivo.

Ejemplo práctico: Cómo leer un archivo con FileReader

Te dejo un ejemplo práctico para que uses FileReader para leer un archivo de texto y mostrar su contenido línea por línea en la consola.

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {

public static void main(String[] args) {
String filePath = "/ruta/al/archivo.txt"; // Ruta del archivo a leer
try (FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader)) {
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line); // Imprimir cada línea del archivo
}
} catch (IOException e) {
System.out.println("Error al leer el archivo: " + e.getMessage());
}
}
}

¿No entiendes el código? Te lo explico

  1. Importación de clases: El programa importa FileReader, BufferedReader y IOException, que son necesarias para leer el archivo y manejar posibles errores.
  2. Ruta del archivo: La variable filePath almacena la ruta del archivo a leer.
  3. Declaración del bloque try: El bloque try contiene la declaración de FileReader y BufferedReader. El uso de BufferedReader es esencial porque proporciona una forma eficiente de leer el archivo línea por línea.
  4. Lectura del archivo: Dentro del bloque while, cada línea del archivo se lee con el método readLine() de BufferedReader y se imprime en la consola.
  5. Manejo de excepciones: Si ocurre un error, como que el archivo no exista o haya un problema al leerlo, la excepción IOException es capturada y se imprime un mensaje de error.

¿Por qué usar BufferedReader junto con FileReader?

Aquí voy a recomendarte algo muy importante. FileReader por sí solo sí te sirve para leer caracteres desde un archivo, pero es mejor que lo uses junto con BufferedReader si vas a trabajar con archivos de texto grandes.

¿Por qué? porque BufferedReader te deja leer líneas completas, ya que mantiene un búfer de caracteres de memoria, mejorando el rendimiento y te evitas múltiples lecturas directas desde el disco.

¿Qué pasa con las excepciones cuando usas FileReader en Java?

Debes saber que, cuando trabajas con FileReader, pueden ocurrir varias excepciones. Algunas de las más comunes son:

  • FileNotFoundException: Si el archivo especificado no existe o no se puede acceder por alguna razón.
  • IOException: Cualquier otro error de entrada/salida, como problemas de lectura del archivo.

Por eso, siempre debes envolver tu código en un bloque try-catch para manejar estas posibles excepciones y evitar que tu programa termine abruptamente.

No olvides estos detalles sobre FileReader en Java

  • Cierre de recursos: Cuando termines de trabajar con FileReader en Java, es importante cerrarlo para liberar los recursos del sistema. Esto se puede hacer manualmente o utilizando un bloque try-with-resources, como vimos en el ejemplo anterior.
  • Lectura carácter por carácter: FileReader también tiene un método read() que lee un solo carácter a la vez, pero si necesitas leer todo el contenido del archivo, es mejor usar BufferedReader con su método readLine().

Si te interesa seguir aprendiendo sobre Java y convertirte en un experto en desarrollo Full Stack, el Bootcamp de Java Full Stack de KeepCoding es perfecto para ti. En nuestro curso, aprenderás desde lo más básico hasta las técnicas más avanzadas para crear aplicaciones completas y eficientes. ¡No te quedes atrás!

Posts más leídos