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