Feedback

C# - Sicheres Lesen aus einer .txt-Datei

Veröffentlicht von am 22.11.2015
(1 Bewertungen)
Es tritt eine Ausnahme auf, wenn die auszulesende Datei nicht gefunden wird. Folgendes Snippet soll dies umgehen.

using System.IO;

FileStream filestream;
            StreamReader streamreader;
            string dateiname = "ein.txt";
            string zeile;

            if (!File.Exists(dateiname))
            {
                Console.WriteLine("Datei " + dateiname + " existiert nicht");
                return;
            }

            filestream = new FileStream(dateiname, FileMode.Open);
            streamreader = new StreamReader(filestream);
            while(streamreader.Peek() != -1)
            {
                zeile = streamreader.ReadLine();
                Console.WriteLine(zeile + "\n");
            }

            streamreader.Close();
            filestream.Close();
Abgelegt unter Ausnahmebehandlung.

2 Kommentare zum Snippet

floriankolb schrieb am 22.11.2015:
Warum wird der FileStream am Ende nicht geschlossen - analog zum StreamReader? Wobei zwei using-Statements dafür eleganter wären.
Koopakiller schrieb am 22.11.2015:
Das Snippet umgeht das Werfen einer Exception trotzdem nicht zu 100%. Es könnte passieren das die Datei nach dem prüfen ob sie existiert, aber noch vor dem lesen gelöscht wird.
Ansonsten stimme ich Florian zu.
 

Logge dich ein, um hier zu kommentieren!