您可以使用Directory.GetFiles的此重载为您搜索子目录,例如:
string[] files = Directory.GetFiles(sDir, "*.xml", SearchOption.AllDirectories);
只能像这样搜索一个扩展名,但是您可以使用如下代码:
var extensions = new List<string> { ".txt", ".xml" };string[] files = Directory.GetFiles(sDir, "*.*", SearchOption.AllDirectories) .Where(f => extensions.IndexOf(Path.GetExtension(f)) >= 0).ToArray();
选择具有所需扩展名的文件(扩展名区分大小写的NB)。
在某些情况下,可能希望使用Directory.EnumerateFiles方法枚举文件:
foreach(string f in Directory.EnumerateFiles(sDir, "*.xml", SearchOption.AllDirectories)){ // do something}
请查阅文档以获取可能引发的异常,例如,如果代码在没有适当访问权限的帐户下运行,则抛出UnauthorizedAccessException。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)