【发布时间】:2012-01-20 22:49:11
【问题描述】:
我想使用 Multiple filter eg:.mp3,.jpg 来检索这些类型的文件的字符串数组。但不幸的是 Directory.getfiles() 不能有效地提供此功能。
我知道这个问题在这里被问过很多次,但我刚刚在http://www.beansoftware.com/ASP.NET-FAQ/Multiple-Filters-Directory.GetFiles-Method.aspx找到了一篇文章
它给出了解决这个问题的以下函数
public string[] getFiles(string SourceFolder, string Filter,
System.IO.SearchOption searchOption)
{
// ArrayList will hold all file names
ArrayList alFiles = new ArrayList();
// Create an array of filter string
string[] MultipleFilters = Filter.Split('|');
// for each filter find mathing file names
foreach (string FileFilter in MultipleFilters)
{
// add found file names to array list
alFiles.AddRange(Directory.GetFiles(SourceFolder, FileFilter, searchOption));
}
// returns string array of relevant file names
return (string[])alFiles.ToArray(typeof(string));
}
我想知道这个方法是否有效。如果指定了一个驱动器 eg:C:\ 这个方法会搜索整个驱动器吗? 任何人都可以建议我一种将子文件夹搜索显式添加到此方法的方法
【问题讨论】:
标签: c# .net winforms file directory