c#

c#递归遍历文件夹怎么实现

小樊
101
2024-10-09 06:58:30
栏目: 编程语言

在C#中,你可以使用递归方法来遍历文件夹。以下是一个示例代码,展示了如何使用System.IO命名空间中的DirectoryFileInfo类来递归遍历文件夹:

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变量设置为要遍历的文件夹的实际路径。此外,这个示例仅打印出文件和文件夹的路径,但你可以根据需要对它们执行其他操作。

0
看了该问题的人还看了