2009-07-29 10 views
60

używam:plik istnieje od wzorca nazwy pliku

File.Exists(filepath) 

Co chciałbym zrobić to swop to się wzorzec, ponieważ pierwsza część zmiany nazwy pliku.

Na przykład: plik może być

01_peach.xml 
02_peach.xml 
03_peach.xml 

Jak mogę sprawdzić, czy plik istnieje na podstawie jakiegoś wzoru wyszukiwania?

Odpowiedz

98

Można zrobić listę katalogów z wzorca w celu sprawdzenia plików

string[] files = System.IO.Directory.GetFiles(path, "*_peach.xml", System.IO.SearchOption.TopDirectoryOnly); 
if (files.Length > 0) 
{ 
    //file exist 
} 
49

Jeśli używasz .NET Framework 4 lub powyżej można użyć Directory.EnumerateFiles

bool exist = Directory.EnumerateFiles(path, "*_peach.xml").Any(); 

To może być bardziej efektywne niż przy użyciu Directory.GetFiles ponieważ można uniknąć Iteracja koryta całą listę plików .

+0

Twoja wersja kodu robi to samo, ale jest ukryta. Nie ma sposobu na uzyskanie wszystkich plików pasujących do wzorca właśnie z niczego. – Kostadin

+0

@Kostadin: brakowało, aby odpowiedzieć na to wcześniej ... nie chce uzyskać wszystkich plików pasujących do wzorca, chce wiedzieć, czy jest JAKIKOLWIEK –

Powiązane problemy