Maison >Java >javaDidacticiel >Comment puis-je m'assurer que mon programme Java écrit des fichiers en codage UTF-8 ?
Écrire des fichiers UTF-8 en Java
En Java, le codage de sortie par défaut pour l'écriture de fichiers texte n'est pas toujours UTF-8. Cela peut entraîner des problèmes de compatibilité lors de la lecture ou du traitement des fichiers. Si vous devez explicitement créer un fichier UTF-8, vous pouvez utiliser l'approche suivante :
Solution
Au lieu d'utiliser la classe FileWriter pour l'écriture, utilisez FileOutputStream avec avec OutputStreamWriter. Cela vous permet de spécifier le codage de caractères souhaité lors de la construction. Utilisez une instruction try-with-resources pour garantir une gestion appropriée des ressources :
try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(PROPERTIES_FILE), StandardCharsets.UTF_8)) // do stuff }
Explication
FileOutputStream est un flux de bas niveau qui gère l'écriture réelle du fichier. L'envelopper avec OutputStreamWriter permet la conversion du codage des caractères. En passant StandardCharsets.UTF_8 au constructeur, vous spécifiez que la sortie doit être codée en UTF-8.
Dans l'instruction try-with-resources, vous pouvez effectuer vos opérations d'écriture de fichiers. Le bloc try garantit que les ressources (flux de fichiers) seront fermées automatiquement une fois terminées ou en cas d'exception.
En utilisant cette approche, vous pouvez efficacement forcer la création d'un fichier codé en UTF-8, quel que soit le des paramètres par défaut du système.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!