FileOutputStream définir le codage utf-8
une envie de mettre un fichier en utf-8
la FileOutputStream prend juste deux paramètre
mon code est
PrintWriter kitaba1 = null;
try {
kitaba1 = new PrintWriter(new FileOutputStream(new File(ismmilaf), true ));
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
//kitaba1.println(moarif1);
kitaba1.close();
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
OutputStreamWriter
de sorte que vous pouvez spécifier une sortie de jeu de caractères. Vous pouvez enrouler ensuite que, dans unPrintWriter
ouBufferedWriter
si vous avez besoin de l'impression de la sémantique:FileOutputStream est destiné à être utilisé pour écrire des données binaires. Si vous voulez écrire un texte vous pouvez utiliser un FileWriter ou un OutputStreamWriter.
Vous pouvez également utiliser l'une des méthodes de le
Fichiers
de la classe, par exemple:FileWriter
ne vous permet pas de spécifier la sortie du jeu de caractères, il utilise toujours le jeu de caractères par défaut de la plateforme sous-jacente. Si vous souhaitez spécifier explicitement un jeu de caractères, vous devez "la construction d'une OutputStreamWriter sur un FileOutputStream" au lieu de cela, comme leFileWriter
documentation dit.C'est parce que vous êtes à l'aide de différents
charset
et ces personnages n'appartiennent pas à cette, pourriez-vous essayer d'utiliserUTF-8
, par exemple:Vous pouvez le spécifier en tant que troisième paramètre de PrintStream comme ceci:
ou à l'aide de StandardCharsets.DesiredEncoding (je ne m'en souviens pas bien, mais peut-être que vous devez utiliser .toString() sur celui-ci, comme: