Je veux ajouter des lignes à mon fichier. J'utilise un StreamWriter :
StreamWriter file2 = new StreamWriter(@"c:\file.txt");
file2.WriteLine(someString);
file2.Close();
La sortie de mon fichier devrait comporter plusieurs chaînes de caractères les unes en dessous des autres, mais je n'ai qu'une seule ligne, qui est écrasée à chaque fois que j'exécute ce code.
Existe-t-il un moyen de permettre au StreamWriter de s'ajouter à un fichier existant ?
Utilisez ceci à la place :
new StreamWriter("c:\\file.txt", true);
Avec cette surcharge du constructeur StreamWriter, vous choisissez si vous ajoutez le fichier ou si vous l'écrasez.
Le C# 4 et plus offre la syntaxe suivante, que certains trouvent plus lisible :
new StreamWriter("c:\\file.txt", append: true);
using (FileStream fs = new FileStream(fileName,FileMode.Append, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs))
{
sw.WriteLine(something);
}