Opprett en .txt-fil hvis den ikke finnes, og legg til en ny linje hvis den finnes.

Jeg vil gjerne opprette en .txt-fil og skrive til den, og hvis filen allerede finnes, vil jeg bare legge til noen flere linjer:

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

Men det ser ut til at den første linjen alltid blir overskrevet... hvordan kan jeg unngå å skrive på samme linje (jeg bruker dette i en loop)?

Jeg vet at det er en ganske enkel ting, men jeg har aldri brukt WriteLine-metoden før. Jeg er helt ny i C#.

Løsning

Bruk riktig konstruktør:

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

Du vil bare åpne filen i "append"-modus.

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

Kommentarer (1)

Du kan bruke en FileStream. Denne gjør alt arbeidet for deg.

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

Kommentarer (0)