Č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.