web-dev-qa-db-fra.com

Comment ajouter du texte au fichier dans Java 8 à l'aide du jeu de caractères spécifié

Je recherche une solution simple et fiable pour ajouter du texte à un fichier existant dans Java 8 à l'aide d'un Charset cs spécifié. La solution que j'ai trouvée ici traite de la variable Charset standard qui est un non-droit dans ma situation.

11

Une façon d’utiliser la version surchargée de Files.write qui accepte un jeu de caractères :

import static Java.nio.charset.StandardCharsets.UTF_8;
import static Java.nio.file.StandardOpenOption.APPEND;
import static Java.nio.file.StandardOpenOption.CREATE;

List<String> lines = ...;
Files.write(log, lines, UTF_8, APPEND, CREATE);
19
assylias
Path path = Paths.get("...");
Charset charset = StandardCharsets.UTF_8;
List<String> list = Collections.singletonList("...");
Files.write(path, charset, list, StandardOpenOption.APPEND);
8
Joop Eggen

Sur la base de la réponse acceptée dans la question que vous avez indiquée:

try (PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("myfile.txt", true), charset)))) {
    out.println("the text");
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}
3
Roger Gustavsson

Vous pouvez utiliser la méthode append de Guava Class Files . Vous pouvez également consulter Java.nio.charset.Charset .

0
user1929959