Mon programme utilise actuellement
FileOutputStream output = new FileOutputStream("output", true);
Une boucle while crée le fichier de sortie s'il n'a pas encore été créé et ajoute des données à ce fichier pour chaque itération de la boucle while à l'aide de
output.write(data).
C'est bien et c'est ce que je veux.
Si je lance à nouveau le programme, la taille du fichier est doublée car il ajoute les informations exactes à la fin du fichier. Ce n'est pas ce que je veux. Je voudrais écraser le fichier si je lance à nouveau le programme.
Cette documentation suggère que le paramètre que vous transmettez soit le paramètre append
.
la signature ressemble à la suivante
FileOutputStream(File file, boolean append)
Vous devez définir ce paramètre sur false
puisque vous ne souhaitez pas ajouter.
FileOutputStream output = new FileOutputStream("output", false);
Je voudrais écraser le fichier si je lance à nouveau le programme.
Passez false
en tant que 2ème argument, pour définir append à false:
FileOutputStream output = new FileOutputStream("output", false);
Découvrez la documentation constructeur :
Si le deuxième argument est vrai, les octets seront alors écrits à la fin du fichier plutôt qu'au début.
Ou vous pouvez simplement supprimer le fichier s'il est là, puis le créer toujours et le travail effectué.