Salut à tous,

voilà ma question est simple, j'ai un stream qui écrit dans un fichier, puis je dois changer de stream pour écrire à la suite ce fichier (cette étape est obligatoire dans mon cas). Le deuxième stream doit donc mettre tous les bytes à écrire à partir de la fin du fichier.

A priori ça a l'air simple : on passe au stream d'écriture un FileOutputStream en append et c'est tout, mais ça ne marche pas. Voici un exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
PrintWriter out = new PrintWriter(new FileOutputStream("test.txt"));
out.print("Hello ");
out.close();
 
out = new PrintWriter(new FileOutputStream("test.txt"), true);
out.print("World!");
out.close();
Et à la fin le fichier test.txt contient la chaîne de caractères "World!" et non pas "Hello World!".

Comment résoudre ce problème?