web-dev-qa-db-fra.com

Comment ajouter une nouvelle ligne dans un fichier txt

J'aimerais ajouter une nouvelle ligne avec du texte à mon fichier date.txt, mais au lieu de l'ajouter au fichier date.txt existant, l'application crée un nouveau fichier date.txt.

TextWriter tw = new StreamWriter("date.txt");

// write a line of text to the file
tw.WriteLine(DateTime.Now);

// close the stream
tw.Close();

Je voudrais ouvrir le fichier txt, ajouter du texte, le fermer et plus tard, après avoir cliqué sur quelque chose: ouvrir le fichier date.txt, ajouter du texte et le refermer.

Donc je peux avoir: 

Bouton enfoncé: txt ouvert -> ajouté l'heure actuelle, puis fermez-le. Un autre bouton enfoncé, txt ouvert -> ajout du texte "OK" ou "NON OK" dans la même ligne, puis fermez-le à nouveau.

Donc, mon fichier txt ressemblera à ça:

2011-11-24 10:00:00 OK
2011-11-25 11:00:00 NOT OK

Comment puis-je faire ceci? Merci!

108
Elfoc

Vous pouvez le faire facilement en utilisant

File.AppendAllText("date.txt", DateTime.Now.ToString());

Si vous avez besoin de newline

File.AppendAllText("date.txt", 
                   DateTime.Now.ToString() + Environment.NewLine);

Quoi qu'il en soit, si vous avez besoin de votre code, procédez comme suit:

TextWriter tw = new StreamWriter("date.txt", true);

avec le second paramètre indiquant d'ajouter au fichier.
Vérifiez la syntaxe ici StreamWriter.

228
Marco

Aucune nouvelle ligne:

File.AppendAllText("file.txt", DateTime.Now.ToString());

et ensuite pour obtenir une nouvelle ligne après OK:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));
19
Asken

Pourquoi ne pas le faire avec un appel de méthode:

File.AppendAllLines("file.txt", new[] { DateTime.Now.ToString() });

qui fera la nouvelle ligne pour vous, et vous permettra d'insérer plusieurs lignes à la fois si vous le souhaitez.

3
kad81
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
0
Mehdi