Laden...

[erledigt] Prüfen ob eine Datei existiert

Letzter Beitrag vor 16 Jahren 7 Posts 7.732 Views
[erledigt] Prüfen ob eine Datei existiert

Hallo,

ich verwende in meine Anwendung Daten die ich aus einer XML Datei lese.
Ich öffne die Datei mit:


            // Dokument ansprechen
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(sXmlVvContentFile);

Ich möchte gerne prüfen ob die Datei existiert bevor ich sie anspreche.
Habe hier im Forum gesucht nach "File Exist" und "Datei prüfen", habe aber nichts verwertbares gefunden.
Hat noch jemand eine Iddee für mich?

Gruß Holger.
X(

gefahren werden ist nur solange schön wie man nicht selbst lenken möchte ...

hallo little_budda,

File.Exists

Hallo little_budda

du könntest es mit der File.Exists() Methode versuchen.

z.B.


string path = @"C:\datei.xml";

if(File.Exists(path))
{
// Tu was
}
else
{
Messagebox.Show("Datei nicht gefunden";);
}

*edit*

oh, da war wohl einer schneller 😉

mfg

m3ndl0r

Danke.
Klappt.

gefahren werden ist nur solange schön wie man nicht selbst lenken möchte ...

Hallo little_budda,

normalerweise ist es ohnehin besser, den Zugriff durchzuführen und mögliche Exceptions zu fangen. Eine reine Prüfung ist insofern ohne Aussagekraft, da sich der Zustand ja sofort nach der Prüfung schon wieder geändert haben kann.

herbivore

Also ich würde die Prüfung trotzdem immer reinschreiben schließlich ist die Wahrscheinlichkeit, dass eine nicht existierende Bruchteile Millisekunden später auf einmal doch existiert sehr sehr gering.
Außerden sind auftretende Exceptions, auch wenn sie "erwartet" wurden, nie gut, weil das ExceptionHandling im .NET doch auch einige Zeit benötigt, deswegen ist es besser beides zu schreiben also:

if( File.Exists(file))  {
   try { 
     Open(); ... 
   } 
   catch(...Exception ) { 
     ... //Exception Handling
   } 
} 
else { 
//not found... 
}

Hallo tkrasinger,

Also ich würde die Prüfung trotzdem immer reinschreiben schließlich ist die Wahrscheinlichkeit, dass eine nicht existierende Bruchteile Millisekunden später auf einmal doch existiert sehr sehr gering.

Wenn du schon mit Wahrscheinlichkeiten argumentierst, dann müsstest du auch die Wahrscheinlichkeit mit einbeziehen, mit der die Datei vorhanden ist. Wenn die Wahrscheinlichkeit sehr gering ist, dass die Datei nicht vorhanden ist, ist File.Exists überflüssig.

Aber darauf kommt es eigentlich gar nicht an, denn:

Außerden sind auftretende Exceptions, auch wenn sie "erwartet" wurden, nie gut, weil das ExceptionHandling im .NET doch auch einige Zeit benötigt

Das ist ein bereits widerlegtes Gerücht. Daher zieht auch die Schlussfolgerung nicht.

Wenn das ganze nicht in einer engen Schleife passiert, spielt die Laufzeit ohnehin überhaupt keine Rolle. Hier überwiegt die Einfachheit des Codes deutlich.

herbivore