Search code examples
c#text-files

Create a .txt file if doesn't exist, and if it does append a new line


I would like to create a .txt file and write to it, and if the file already exists I just want to append some more lines:

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(); 
}

But the first line seems to always get overwritten... how can I avoid writing on the same line (I'm using this in a loop)?

I know it's a pretty simple thing, but I never used the WriteLine method before. I'm totally new to C#.


Solution

  • Use the correct constructor:

    else if (File.Exists(path))
    {
        using(var sw = new StreamWriter(path, true))
        {
            sw.WriteLine("The next line!");
        }
    }