Feedback

Sicheres Lesen aus einer .txt-Datei

Sprache: C#

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();
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();

2 Kommentare

  1. Warum wird der FileStream am Ende nicht geschlossen – analog zum StreamReader? Wobei zwei using-Statements dafür eleganter wären.

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