I/O Principiante

E/S de archivos con charset por defecto a StandardCharsets explícito

Usa lectores y escritores de Files con constantes de StandardCharsets en lugar de depender del comportamiento del charset por defecto de la plataforma y la búsqueda por nombre de charset.

I/O
✕ Platform-default charset
try (Reader reader = new FileReader(path.toFile())) {
    return readAll(reader);
}
✓ Explicit standard charset
try (BufferedReader reader = Files.newBufferedReader(
        path, StandardCharsets.UTF_8)) {
    return readAll(reader);
}
¿Ves un problema con este código? Cuéntanos.
🌍

Resultados portables

Los mismos bytes se decodifican de forma idéntica en cualquier máquina.

🔒

Constante predefinida

StandardCharsets.UTF_8 no puede contener un nombre de charset mal escrito.

🧩

API de archivos moderna

Path, buffering y codificación se expresan en una sola operación.

Enfoque Antiguo
Charset por defecto de la plataforma
Enfoque Moderno
Charset estándar explícito
Desde JDK
7
Dificultad
Principiante
E/S de archivos con charset por defecto a StandardCharsets explícito
Disponible

Ampliamente disponible desde JDK 7 (julio de 2011)

Los constructores de Reader y Writer que dependen del charset por defecto hacen que el comportamiento del archivo dependa del entorno de ejecución. Files.newBufferedReader() y newBufferedWriter() aceptan un Charset explícito, mientras que StandardCharsets ofrece constantes garantizadas como UTF_8 sin búsqueda por cadena ni UnsupportedCharsetException.