I/O Iniciante

E/S de arquivos com charset padrão para StandardCharsets explícito

Use leitores e escritores de Files com constantes StandardCharsets em vez do comportamento de charset padrão da plataforma e busca por nome 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);
}
Viu um problema com este código? Nos avise.
🌍

Resultados portáveis

Os mesmos bytes são decodificados de forma idêntica em qualquer máquina.

🔒

Constante predefinida

StandardCharsets.UTF_8 não pode conter um nome de charset com erro de digitação.

🧩

API de arquivos moderna

Path, buffering e codificação são expressos em uma única operação.

Abordagem Antiga
Charset padrão da plataforma
Abordagem Moderna
Charset padrão explícito
Desde o JDK
7
Dificuldade
Iniciante
E/S de arquivos com charset padrão para StandardCharsets explícito
Disponível

Amplamente disponível desde o JDK 7 (julho de 2011)

Construtores de Reader e Writer que dependem do charset padrão fazem o comportamento do arquivo depender do ambiente de execução. Files.newBufferedReader() e newBufferedWriter() aceitam um Charset explícito, enquanto StandardCharsets fornece constantes garantidas como UTF_8 sem busca por string ou UnsupportedCharsetException.