【问题标题】:Directory.getfiles() with Multiple Wild Cards or Filters Alternative in c# [duplicate]Directory.getfiles() 在 c# 中具有多个通配符或过滤器替代项 [重复]
【发布时间】:2012-01-20 22:49:11
【问题描述】:

可能重复:
GetFiles with multiple extentions

我想使用 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


    【解决方案1】:

    您还可以对总结果运行 LINQ 查询以获取您想要的文件并联合结果

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 2023-03-09
      • 2022-07-22
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多