Dominando Java FileReader: Guía Completa y Ejemplos Prácticos
Clase FileReader de Java
Esta guía te lleva a través de FileReader de Java, cubriendo sus constructores, métodos clave y ejemplos prácticos.
La clase FileReader en el paquete java.io lee datos de caracteres desde archivos. Extiende InputStreamReader y soporta diferentes codificaciones de caracteres.
Crear un FileReader
Primero, importa la clase:
import java.io.FileReader;
1. Por nombre de archivo
FileReader entrada = new FileReader("ruta/al/archivo.txt");
Crea un reader que abre el archivo especificado.
2. Por objeto File
File archivoObj = new File("ruta/al/archivo.txt");
FileReader entrada = new FileReader(archivoObj);
3. Especificando un charset (Java 11+)
FileReader entrada = new FileReader("ruta/al/archivo.txt", StandardCharsets.UTF_8);
Usar Charset te permite leer archivos con la codificación deseada.
Métodos Principales de FileReader
FileReader implementa todos los métodos de Reader y añade su propia funcionalidad.
Método read()
read()– lee un solo carácter.read(char[] array)– llena el array con caracteres.read(char[] array, int offset, int length)– leelengthcaracteres en el array comenzando enoffset.
Ejemplo: Leyendo input.txt que contiene "Esta es una línea de texto dentro del archivo."
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try (FileReader reader = new FileReader("input.txt")) {
int leidos = reader.read(buffer);
System.out.println("Datos en el archivo:");
System.out.println(new String(buffer, 0, leidos));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Salida
Datos en el archivo: Esta es una línea de texto dentro del archivo.
Nota: Coloca input.txt en el directorio de trabajo actual.
Método getEncoding()
Recupera el charset usado por el reader:
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
class Main {
public static void main(String[] args) {
try {
FileReader readerPorDefecto = new FileReader("input.txt");
FileReader readerUtf8 = new FileReader("input.txt", StandardCharsets.UTF_8);
System.out.println("Codificación por defecto: " + readerPorDefecto.getEncoding());
System.out.println("Codificación UTF-8: " + readerUtf8.getEncoding());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Salida
Codificación por defecto: Cp1252 Codificación UTF-8: UTF-8
Cuando se especifica un charset, getEncoding() retorna ese charset; de lo contrario refleja el de la plataforma por defecto.
Método close()
Siempre cierra el reader después de usarlo. La declaración try-with-resources mostrada arriba lo maneja automáticamente.
Métodos Adicionales de FileReader
| Método | Descripción |
|---|---|
ready() | Indica si el flujo está listo para ser leído. |
mark() | Marca la posición actual en el flujo. |
reset() | Restablece el flujo a la marca más reciente. |
Para más detalles, consulta la documentación oficial de Java FileReader.
Java
- Palabra clave final en Java: Variables, métodos y clases
- Operador instanceof en Java: Guía completa
- Dominando la herencia en Java: Conceptos, tipos y ejemplos prácticos
- Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
- Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
- Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
- Dominando Java BufferedReader: Manejo Eficiente de Flujos de Caracteres
- Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
- Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación