Створити файл .txt, якщо він не існує, а якщо існує, додати новий рядок

Я хотів би створити файл .txt і записати в нього, а якщо файл вже існує, то просто додати ще кілька рядків:

string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
    File.Create(path);
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The very first line!");
    tw.Close();
}
else if (File.Exists(path))
{
    TextWriter tw = new StreamWriter(path);
    tw.WriteLine("The next line!");
    tw.Close(); 
}

Але перший рядок, здається, завжди перезаписується... як я можу уникнути запису на тому ж рядку (я використовую це в циклі)?

Я знаю, що це досить проста річ, але я ніколи раніше не використовував метод WriteLine. Я зовсім новачок у мові C#.

Рішення

Використовуйте правильний конструктор:

else if (File.Exists(path))
{
    using(var tw = new StreamWriter(path, true))
    {
        tw.WriteLine("The next line!");
    }
}
Коментарі (5)

Потрібно просто відкрити файл в режимі &quo ;додати&quo ;.

http://msdn.microsoft.com/en-us/library/3zc0w663.aspx

Коментарі (1)

Ви можете використовувати FileStream. Це зробить всю роботу за вас.

http://www.csharp-examples.net/filestream-open-file/

Коментарі (0)