/// <summary>
/// 遍历文件夹及其子文夹中指定后缀文件
/// </summary>
/// <param name="rootDirectory">文件夹路径</param>
/// <param name="searchPattern">文件后缀</param>
/// <returns></returns>
public static List<string> SearchFiles(string rootDirectory, string searchPattern)
{
List<string> filePaths = new List<string>();
// 使用Queue处理待处理的子目录
Queue<string> queue = new Queue<string>(Directory.GetDirectories(rootDirectory));
while (queue.Count > 0)
{
string currentDir = queue.Dequeue();
// 将当前目录中符合搜索模式的文件路径添加到结果列表中
string[] files = Directory.GetFiles(currentDir, searchPattern);
filePaths.AddRange(files);
// 将当前目录的子目录加入队列,以便进一步搜索
foreach (string subDir in Directory.GetDirectories(currentDir))
{
queue.Enqueue(subDir);
}
}
return filePaths;
}
c语言遍历文件夹中的文件
2024-07-11 21:06:02 41 阅读