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