C#如何获取一个文件夹下所有文件夹中的所有文件
时间: 2024-12-22 22:24:18 浏览: 11
在C#中,要获取指定文件夹下的所有子文件夹及其内部的所有文件,可以使用递归方法结合`DirectoryInfo`和`FileInfo`类。这里是一个示例:
```csharp
using System;
using System.IO;
public static void GetFilesRecursively(string directoryPath)
{
try
{
DirectoryInfo dirInfo = new DirectoryInfo(directoryPath);
// 遍历当前目录下的所有子目录和文件
foreach (var item in dirInfo.GetFileSystemInfos())
{
if (item is FileInfo fileInfo)
{
Console.WriteLine($"File: {fileInfo.FullName}");
}
else if (item is DirectoryInfo subdirInfo)
{
// 递归遍历子目录中的文件
Console.WriteLine($"Folder: {subdirInfo.FullName}");
GetFilesRecursively(subdirInfo.FullName);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
// 调用函数并传入你要搜索的文件夹路径
string folderPath = "your_directory_path";
GetFilesRecursively(folderPath);
```
这个函数会打印出每个找到的文件和子目录的完整路径。如果遇到错误,它会捕获异常并输出错误信息。
阅读全文