c# 递归遍历文件夹
时间: 2023-11-12 15:56:44 浏览: 65
可以使用以下代码来递归遍历文件夹并输出所有文件的路径:
```c#
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\username\Desktop\TestFolder";
TraverseDirectory(path);
}
static void TraverseDirectory(string path)
{
foreach (string file in Directory.GetFiles(path))
{
Console.WriteLine(file);
}
foreach (string directory in Directory.GetDirectories(path))
{
TraverseDirectory(directory);
}
}
}
```
上述代码中,`TraverseDirectory` 函数使用递归来遍历文件夹。首先,它输出文件夹中的所有文件路径。然后,对于文件夹中的每个子目录,它会调用自身以便继续遍历。
相关问题
C# 递归遍历路径下文件夹和文件
可以使用以下代码来递归遍历指定路径下的所有文件和文件夹:
```csharp
using System.IO;
public static void TraverseDirectory(string path)
{
if (Directory.Exists(path))
{
Console.WriteLine("Directory: " + path);
string[] files = Directory.GetFiles(path);
foreach (string file in files)
{
Console.WriteLine("File: " + file);
}
string[] directories = Directory.GetDirectories(path);
foreach (string directory in directories)
{
TraverseDirectory(directory);
}
}
else
{
Console.WriteLine("Invalid path: " + path);
}
}
```
使用示例:
```csharp
TraverseDirectory(@"C:\Users\Username\Desktop\MyFolder");
```
该方法首先检查指定路径是否为目录,如果是,则输出目录名称,并遍历其中的所有文件和子目录。如果路径无效,则输出错误信息。
C#遍历文件夹内全部文件
您可以使用 `Directory.GetFiles` 方法来遍历文件夹内的所有文件。以下是一个示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\YourFolderPath";
// 获取文件夹内的所有文件路径
string[] files = Directory.GetFiles(folderPath, "*", SearchOption.AllDirectories);
// 遍历每个文件路径并打印
foreach (string file in files)
{
Console.WriteLine(file);
}
}
}
```
在上述示例中,您需要将 `folderPath` 替换为您要遍历的文件夹的路径。代码将递归地遍历文件夹及其子文件夹,并将每个文件的路径打印到控制台上。