2016-03-25 19 views
0

Masaüstümde test kelimesiyle biten her şey için arama yapan bir joker karakter araması kullanmaya çalışıyorum.Joker arama arama yolu yolu C#

Bu (ExcelToDataTable) sahip parametre olarak bir string alır:

ExcelToDataTable(@"C:\Users\name\Desktop\*test.xls"); 

O zaman testi ile adlandırılmış yaprağından çekmek için çalışıyorum verilerle bazı şeyler yapar benim yöntemi vardır:

public static DataTable ExcelToDataTable(string filePath) 
{ 
    DataTable dt = new DataTable(); 
    using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) 
    { 

    } 
} 

benim soru, benim sağlanan örnekle, bir joker kullanmak ve benim ExcelToDataTable yöntem haline o beslemek için bir yol yoktur nedir? Ben, ben yeni bir yöntem yapacak

Teşekkür

+0

de vardır tamponlar '.EndWith()' işlevini kullanarak dosyaları aramak için linq kullanarak nsion yöntemleri – MethodMan

cevap

2

... kelime sonunda test sahiptir masaüstümde her .xls dosyasını bulmak için bir dizin yolu kabul "bir düzey yukarı" isteyen pm içindeki tüm xls dosyalarını bulur ve bunları bir listede yönteminize aktarır.

public static List<DataTable> ProcessDataTables(string dirPath) 
    { 
       xlsFiles = System.IO.Directory.GetFiles(dirPath, "*test.xls") 
       var results = new List<DataTable> 
       foreach(var file in xlsFiles) 
        results.Append(ExcelToDataTable(file)) 
       return results 
    } 
düşünmeniz gerekir

bazı aklı denetimi dirPath var olan bir dizine, bu hiç xls dosyaları durumda bir dönüş değeri olarak boş bir listeyle Tamam çağıran şey bir yol aslında olmadığını kontrol gibi (orada var, vb.)

Genel olarak, aynı zamanda "sizin" masaüstünüzde sabit kodlama yerine Environment.SpecialFolder.Desktop'u kullanmak en iyi uygulamadır.

0

örneğin aşağıdaki yapabileceğini bir .text Uz ile biten bir dosya arıyorsanız eğer ben senin durumunda

var fi = new System.IO.DirectoryInfo(sDir).GetFiles(). 
    Where(f => !(f.FullName.EndsWith(".jpg") || f.Name.EndsWith(".txt"))).ToArray(); 

aşağıdaki yapabileceğini .jpg and .txt ile sona dosyaları bulmak istiyoruz diyelim şunları yapın

var fi = new System.IO.DirectoryInfo(sDir).GetFiles(). 
    Where(f => !(f.FullName.EndsWith(".text") || f.Name.EndsWith(".Text"))).ToArray(); 

ayrıca aşağıda bir Google arama, C# Linq Directory.EnumerateFiles() Yöntemi yapabilirdi