我想檢索一個擴展名與指定字符串完全匹配的文件列表。準確的文件擴展名匹配GetFiles()?
DirectoryInfo di = new DirectoryInfo(someValidPath);
List<FileInfo> myFiles = new List<FileInfo>();
foreach (FileInfo fi in di.GetFiles("*.txt"))
{
myFiles.Add(fi);
}
我得到的文件擴展名爲*.txt
但我也得到文件擴展名爲*.txtx
,所以我所編碼的數額越來越其擴展開始與txt
的文件。
這不是我想要的。我是否需要抓取所有文件名,並與"\\.txt$"
(我認爲)進行正則表達式匹配,或者使用.EndsWith(".txt")
等來測試每個文件名字符串,以完成此操作?
謝謝!
是的,你這樣做。這是否很難,爲什麼你需要regulare表達? – sln 2011-04-06 21:19:58
注意,*每個*答案忘記Windows文件名不區分大小寫。你也可以得到.TXT。文件名的外殼規則有點令人討厭,你可能想要檢查字符串的長度。 – 2011-04-06 22:06:25
@Hans:好點。 Fredrik的答案是否處理了不區分大小寫的問題? – John 2011-04-07 02:26:11