Hallo Leute,
ich möchte gerne in einem Ordner nach einer *.txt Datei suchen. So gehts ja offensichtlich nicht:
if (File.Exists(Application.StartupPath + @"\Data\*.txt"))
do something
In msdn2 mit dem RessourceManager bin ich auch nicht weitergekommen.
Wie funktionierts dann?
Schöne Grüße
Daneu
hallo,
File.Exists ermittelt nur, ob eine Datei existiert oder nicht.
Nimm Directory.GetFiles() um mit wildcards zu suchen.
Ok, also um präziser zu werden:
Ich möchte aus einem Ordner eine einzige txt Datei löschen, deren Name ich nicht kenne (außer der Extension). Meine Lösung sieht folgendermaßen aus:
string[] arrAllFiles = Directory.GetFiles(Application.StartupPath + @"\Temp");
foreach (string str in arrAllFiles)
{
if (Path.GetExtension(str) == "txt")
File.Delete(str);
}
Gibt es nicht eine schnellere Lösung, wo ich ohne Verwendung einer Schleife eine Datei unter Zuhilfenahme eines wildcard aus einem Ordner löschen kann?
Schöne Grüße
Daneu
mit deinem code löscht du aber alle .txt dateien in dem ordner.
die wildcard kann wie gesagt der GetFiles() Methode übergeben werden:
string[] arrAllFiles = Directory.GetFiles(Application.StartupPath + @"\Temp", *.txt");
foreach (string str in arrAllFiles)
{
File.Delete(str);
}
ob das allerdings schneller ist bezweifle ich. =)
@feadur:
ob das allerdings schneller ist bezweifle ich.
Schneller ist es mit Sicherheit. Ob das allerdings in einem spürbaren Rahmen liegt, möchte ich bezweifeln.
@Daneu:
Dein Programm erstellt die Datei doch. Dann sollte es doch wohl auch in der Lage sein, sich den Dateinamen zu merken.
Wieso erzeugst du temporäre Dateien unterhalb des Installationsordners?
Das funktioniert schon unter XP nur als Admin, unter Vista nicht mal dann.
Merke: niemals in das Anwendungsverzeichnis schreiben.
Um den korrekten Pfad für Anwendungsdaten zu erhalten nutze Environment.GetSpecialFolder().
also die Schleife ist für die 20-30 Dateien, die sich im Ordner befinden, natürlich mehr als schnell genug. Das geht blitzschnell 😁
Da mein Programm aber generell sehr langsam ist, versuche ich halt den code wo auch immer es geht auf Schnelligkeit zu trimmen.
Den Lösungsweg von feadur habe ich jetzt verstanden und werde ihn übernehmen. Danke.
@ Borg: Mein Programm erstellt die Datei nicht sondern weiß nur, daß eine Datei mit .txt im Ordner x existiert. Danke für Deinen Hinweis mit dem Temporärordner. Dann werde ich mich nun damit auseinandersetzen. Diese wichtigen Tips findet man leider in keinem Lehrbuch. Ich sollte mich doch öfter an das Forum wenden 🙂