在C#中,你可以使用递归方法来遍历文件夹。以下是一个示例代码,展示了如何使用System.IO
命名空间中的Directory
和FileInfo
类来递归遍历文件夹:
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\path\to\your\folder";
RecursiveDirectoryTraversal(folderPath);
}
static void RecursiveDirectoryTraversal(string folderPath)
{
// 获取文件夹中的所有文件和子文件夹
DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
FileInfo[] fileInfos = directoryInfo.GetFiles();
DirectoryInfo[] subDirectories = directoryInfo.GetDirectories();
// 遍历所有文件
Console.WriteLine("Files:");
foreach (FileInfo fileInfo in fileInfos)
{
Console.WriteLine(fileInfo.FullName);
}
// 递归遍历所有子文件夹
Console.WriteLine("\nSubdirectories:");
foreach (DirectoryInfo subDirectory in subDirectories)
{
RecursiveDirectoryTraversal(subDirectory.FullName);
}
}
}
在这个示例中,RecursiveDirectoryTraversal
方法接受一个文件夹路径作为参数。它首先获取该文件夹中的所有文件和子文件夹,然后分别遍历它们。对于每个文件,它打印出文件的完整路径;对于每个子文件夹,它递归调用自身来遍历子文件夹中的内容。
请注意,你需要将folderPath
变量设置为要遍历的文件夹的实际路径。此外,这个示例仅打印出文件和文件夹的路径,但你可以根据需要对它们执行其他操作。