it-swarm.com.ru

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

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

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

108
Elfoc

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

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

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

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

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

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

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

228
Marco

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

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

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

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

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

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

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

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

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