Jak dodać nową linię do pliku txt


129

Chciałbym dodać nową linię z tekstem do mojego pliku date.txt, ale zamiast dodawać go do istniejącego date.txt, aplikacja tworzy nowy plik 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();

Chciałbym otworzyć plik txt, dodać tekst, zamknąć, a później po kliknięciu: otwórz date.txt, dodaj tekst i ponownie zamknij.

Więc mogę dostać:

Wciśnięty przycisk: txt otwarty -> dodany aktualny czas, a następnie zamknij go. Wciśnięty kolejny przycisk, otwarty txt -> dodany tekst „OK” lub „NIE OK” w tej samej linii, po czym ponownie go zamknij.

Więc mój plik txt będzie wyglądał tak:

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

W jaki sposób mogę to zrobić? Dzięki!

Odpowiedzi:


262

Możesz to łatwo zrobić za pomocą

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

Jeśli potrzebujesz nowej linii

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

W każdym razie, jeśli potrzebujesz kodu, zrób to:

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

z drugim parametrem mówiącym o dołączeniu do pliku.
Sprawdź tutaj składnię StreamWriter.


12
Jeśli używasz kompilatora C # 4 (lub nowszego), możesz new StreamWriter("date.txt", append:true)trochę wyjaśnić intencję.
kͩeͣmͮpͥ ͩ

21

Brak nowej linii:

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

a następnie, aby uzyskać nową linię po OK:

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

13
Proszę używać, Environment.Newlinea nie "\r\n"- nie każdy system zgadza się, jak działają nowe linie: en.wikipedia.org/wiki/Newline#Representations
kͩeͣmͮpͥ ͩ

4

Dlaczego nie zrobić tego za pomocą jednego wywołania metody:

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

który zrobi dla ciebie nową linię i pozwoli ci wstawić wiele linii naraz, jeśli chcesz.


Wolę to od zaakceptowanej odpowiedzi; nie musisz określać nowej linii
dwunożny koń

0
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.