Как добавить новую строку в текстовый файл - PullRequest
113 голосов
/ 24 ноября 2011

Я хотел бы добавить новую строку с текстом в мой файл 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, добавить текст и снова закрыть его.

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

Нажата кнопка: текст открыт -> добавил текущее время, затем закройте его. Нажата другая кнопка, открыт текст -> добавил текст «ОК» или «НЕ ОК» в той же строке, затем закройте его снова.

Так что мой текстовый файл будет выглядеть так:

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

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

Ответы [ 4 ]

234 голосов
/ 24 ноября 2011

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

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

Если вам нужен перевод строки

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

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

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

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

19 голосов
/ 24 ноября 2011

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

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

и затем получить новую строку после ОК:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));
3 голосов
/ 21 декабря 2016

Почему бы не сделать это одним вызовом метода:

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

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

0 голосов
/ 28 мая 2017
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...