Čtení textového souboru

Soubory a souborový systém

SSŠVT


Čtení textového souboru

Čtení z textového souboru lze rozdělit na 3 hlavní části:

Pro čtení textového souboru máme v .NETu třídu StreamReader. Nachází se ve jmenném prostoru System.IO.

StreamReader sr;
sr = new StreamReader(@"C:\MyDir\MyFile.txt");
while ( ! sr.EndOfStream )
{
    string line = sr.ReadLine();
    Console.WriteLine(line);
}
sr.Close();
        

Abychom nemuseli myslet na to, že po zpracování celého textového souboru 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 ( StreamReader sr = new StreamReader(@"C:\MyDir\MyFile.txt") )
{
    while ( ! sr.EndOfStream )
    {
        string line = sr.ReadLine();
        Console.WriteLine(line);
    }
}
        

Při některých rutinních postupech (jako je např. práce se souborovým systémem) může dojít k neočekávaným situacím, případně chybám, které je potřeba ošetřit. Takovým situacím se obecně říká výjimky a v C# máme velmi mocný nástroj na řešení výjimečných stavů. Jedná se o tzv. konstrukci try-catch-finally.

try
{
    // Kód, při jehož provádění by mohlo dojít k výjimce.
}
catch (Exception ex)
{
    // Kód, který se provede při výskytu výjimky.
}
finally
{
    // Kód, který se provede:
    // a) Po doběhnutí kódu v bloku za "try", pokud k výjimce nedošlo.
    // b) Ihned poté, co v bloku za "try" došlo k nějaké výjimce a vykonal se kód v bloku "catch".
    //    V takovém případě se další příkazy v bloku "try" za místem, kde k výjimce došlo, již nevykonají.
}
        

Kompletní příklad čtení textového souboru a výpisu jeho obsahu na konzoli máte zde.