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();
Alte URL:
/snippet/sicheres-lesen-aus-einer-txt-datei/13093
Warum wird der FileStream am Ende nicht geschlossen – analog zum StreamReader? Wobei zwei using-Statements dafür eleganter wären.
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.