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.
try (Reader reader = new FileReader(path.toFile())) {
return readAll(reader);
}
try (BufferedReader reader = Files.newBufferedReader(
path, StandardCharsets.UTF_8)) {
return readAll(reader);
}
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.
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.