Как добавить новую строку в txt файл

Я хочу добавить новую строку с текстом в файл date.txt, но вместо добавления в существующий файл date.txt приложение создает новый файл 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();

Я хочу открыть txt файл, добавить текст, закрыть его, а потом щелкнуть что-нибудь: откройте файл date.txt, добавьте текст и закройте его снова.

Итак, я могу получить:

Кнопка нажата: txt открыт → добавлено текущее время, затем закройте его. Другая кнопка нажата, txt открыт → добавлен текст "ОК" или "НЕ ОК" в той же строке, затем закройте его снова.

Итак, мой txt файл будет выглядеть следующим образом:

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

Как я могу это сделать? Спасибо!

Ответ 1

Вы можете сделать это легко, используя

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

Если вам нужна новая строка

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

В любом случае, если вам нужен ваш код, выполните следующие действия:

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

со вторым параметром, указывающим добавить файл.
Проверьте здесь Синтаксис StreamWriter.

Ответ 2

Нет новой строки:

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

а затем, чтобы получить новую строку после OK:

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

Ответ 3

Почему бы не сделать это с помощью одного вызова метода:

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

который сделает для вас новую строку и позволит вам вставлять сразу несколько строк.

Ответ 4

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

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