Ustvari datoteko .txt, če ne obstaja, in če obstaja, ji doda novo vrstico

Rad bi ustvaril datoteko .txt in vanjo pisal, če pa datoteka že obstaja, bi rad samo dodal še nekaj vrstic:

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

Toda zdi se, da se prva vrstica vedno prepiše... kako se lahko izognem pisanju v isto vrstico (uporabljam to v zanki)?

Vem, da je to zelo preprosta stvar, vendar še nikoli nisem uporabil metode WriteLine. V jeziku C# sem popolnoma nov.

Rešitev

Uporabite pravilen konstruktor:

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

Datoteko želite odpreti v načinu "append".

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

Komentarji (1)

Uporabite lahko datotečni tok FileStream. Ta opravi vse delo namesto vas.

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

Komentarji (0)