Sukurkite .txt failą, jei jo nėra, o jei yra, pridėkite naują eilutę

Norėčiau sukurti .txt failą ir įrašyti į jį, o jei failas jau egzistuoja, noriu tik pridėti keletą papildomų eilučių:

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

Tačiau atrodo, kad pirmoji eilutė visada bus perrašyta... kaip išvengti rašymo į tą pačią eilutę (naudoju tai cikle)?

Žinau, kad tai'gana paprastas dalykas, bet niekada anksčiau nenaudojau WriteLine metodo. Esu visiškas C# naujokas.

Sprendimas

Naudokite teisingą konstruktorių:

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

Jūs tiesiog norite atidaryti failą "append" režimu.

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

Komentarai (1)

Galite naudoti FileStream. Tai atlieka visą darbą už jus.

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

Komentarai (0)