Impossible écrire dans fichier

Résolu
Bonjour
je débute en java et j'ai un problème pour écrire dans des fichiers. Voila mon code pourtant très simple:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class EcrireFichier {

public static void main(String[] args) throws IOException {
try{
File ff=new File("C:\\Users\\********\\Downloads\\monfichier.txt");
ff.createNewFile();
FileWriter ffw=new FileWriter(ff);
ffw.write("ca marche pas");
ffw.close();
} catch (IOException e) {}
}
}

Lorsque je l’exécute, au lieu d'écrire, ça me vide mon fichier. Quelqu'un saurait m'expliquer pourquoi ?
Merci !!!

1 réponse

  1. Modérateur
    Bonjour,

    ff.createNewFile();
    créé un fichier vide, donc s'il y avait autre chose avant ça supprime.
    De plus,
    FileWriter(ff);
    est équivalent à
    FileWriter(ff, false);
    qui va effacer le fichier au début, mais si tu veux ajouter du texte à la suite, il faut faire
    FileWriter(ff, true);
    (voir FileWriter)

    public static void main(String[] args) throws Exception {
        try (FileWriter ffw = new FileWriter("C:\\Users\\********\\Downloads\\monfichier.txt", true)) {
            ffw.write("ça marche !\n");
        }
    }
    1. Merci ! (encore)
      J'avais trouvé ce code sur internet, je n'ai pas pris le temps de vérifier chaque méthode, on ne m'y reprendra plus !