Zápis do textového souboru

Soubory a souborový systém

SSŠVT


Zápis do textového souboru

Podobně jako u čtení textového souboru, i zápis do textového souboru lze rozdělit na 3 hlavní části:

Pro zápis do textového souboru máme v .NETu třídu StreamWriter. Nachází se ve jmenném prostoru System.IO.

StreamWriter sw;
sw = new StreamWriter(@"C:\MyDir\OtherFile.txt");
sw.WriteLine("This is the first line of the text file.");
sw.WriteLine("This is the second line.");
sw.Close();
        

Abychom při zápisu do textového souboru (obdobně jako při jeho čtení) nemuseli myslet na to, že po zapsání všech řádků musíme soubor zavřít, lze použít konstrukci s příkazem using. Příkaz using sám na konci bloku dříve otevřený soubor zavře.

using ( StreamWriter sw = new StreamWrite(@"C:\MyDir\OtherFile.txt") )
{
    sw.WriteLine("This is the first line of the text file.");
    sw.WriteLine("This is the second line.");
}
        

Poznámka:
I zde můžeme použít konstrukci try-catch-finally.

Pokud chceme obsah souboru, kam zapisujeme, zachovat a potřebujeme pouze přidat další řádek (řádky) na jeho konec, musíme použít jiný konstruktor při vytváření objektu typu StreamWriter (tj. při otevírání souboru k zápisu).

StreamWriter sw;
sw = new StreamWriter(@"C:\MyDir\OtherFile.txt", true);
sw.WriteLine("Keep previous contents and add this third line to the file.");
sw.Close();