j'ai trouvé que pour rajouter une ligne à un fichier sans écraser la premeire ligne je dois utiliser FileWriter et ca a marché trés bien :
try {
FileWriter fw = new FileWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8"));
BufferedWriter bw = new BufferedWriter (fw);
PrintWriter fichierSortie = new PrintWriter (bw);
}catch(Exception ee ){ System.err.println();
ee.printStackTrace();}
CEPENDANT le FileWriter ne supporte pas l'encodage UTF8 , quand j'ai refait la recherche j'ai trouvé que pour écrire dans un fichier en utilisant l'encodage UTF8 il faut utiliser OutputStreamReader comme suit :
Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("outfilename"), "UTF-8"));
try {
out.write(aString);
} finally {
out.close();
}
CEPENDANT OutputStreamReader ne me permet pas de rajouter une ligne elle ecrase toujours la ligne déjà existante dans le fichier .
FileOutputStream f = new FileOutputStream(new File("nom_fichier"), true); //true pour le mode append
String s = "ligne à ajouter";
f.append(s.getBytes("UTF-8");
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.