I/O Débutant

E/S de fichiers avec charset par défaut vers StandardCharsets explicite

Utilisez les lecteurs et writers de Files avec des constantes StandardCharsets plutôt que de dépendre du comportement du charset par défaut de la plateforme et de la recherche par nom 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);
}
Un problème avec ce code ? Dites-le nous.
🌍

Résultats portables

Les mêmes octets sont décodés de manière identique sur chaque machine.

🔒

Constante prédéfinie

StandardCharsets.UTF_8 ne peut pas contenir un nom de charset mal orthographié.

🧩

API de fichiers moderne

Path, mise en tampon et encodage sont exprimés en une seule opération.

Ancienne Approche
Charset par défaut de la plateforme
Approche Moderne
Charset standard explicite
Depuis JDK
7
Difficulté
Débutant
E/S de fichiers avec charset par défaut vers StandardCharsets explicite
Disponible

Disponible depuis JDK 7 (juillet 2011)

Les constructeurs de Reader et Writer qui dépendent du charset par défaut rendent le comportement du fichier dépendant de l'environnement d'exécution. Files.newBufferedReader() et newBufferedWriter() acceptent un Charset explicite, tandis que StandardCharsets fournit des constantes garanties comme UTF_8 sans recherche par chaîne ni UnsupportedCharsetException.