c#获取文件夹下所有文件
时间: 2023-07-24 19:12:34 浏览: 38
你可以使用 `Directory.GetFiles` 方法来获取文件夹下所有的文件,示例代码如下:
```csharp
string[] files = Directory.GetFiles(@"C:\YourFolder", "*.*", SearchOption.AllDirectories);
```
其中,第一个参数是文件夹的路径,第二个参数是搜索的通配符,`*.*` 表示搜索所有类型的文件,第三个参数是搜索的选项,`SearchOption.AllDirectories` 表示搜索文件夹下的所有子文件夹。这个方法会返回一个 `string` 数组,数组中包含了所有找到的文件的完整路径。
相关问题
C#获取文件夹下所有文件
可以使用C#中的Directory类和FileInfo类来获取文件夹下的所有文件。
下面是一个简单的示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\MyFolder"; // 文件夹路径
DirectoryInfo dir = new DirectoryInfo(folderPath);
FileInfo[] files = dir.GetFiles(); // 获取文件夹下的所有文件
foreach (FileInfo file in files)
{
Console.WriteLine(file.FullName); // 输出文件路径
}
}
}
```
以上代码会输出文件夹中所有文件的完整路径。如果需要获取特定类型的文件,可以使用`GetFiles()`方法的参数进行过滤。例如,如果需要获取以`.txt`为后缀名的文件,可以使用以下代码:
```csharp
FileInfo[] files = dir.GetFiles("*.txt");
```
这将返回文件夹中所有以`.txt`为后缀名的文件。
c#获取文件夹下所有文件包括子文件夹下
可以使用递归的方式来遍历文件夹下的所有文件,包括子文件夹下的文件。以下是一个示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string rootFolder = @"C:\example";
TraverseDirectory(rootFolder);
}
static void TraverseDirectory(string folder)
{
// 遍历当前文件夹下的所有文件
foreach (string file in Directory.GetFiles(folder))
{
Console.WriteLine(file);
}
// 递归遍历子文件夹
foreach (string subFolder in Directory.GetDirectories(folder))
{
TraverseDirectory(subFolder);
}
}
}
```
在上面的示例代码中,`TraverseDirectory` 方法接收一个文件夹路径作为参数,首先遍历该文件夹下的所有文件,然后递归调用自身来遍历子文件夹下的文件。你只需要将 `rootFolder` 变量替换成你需要遍历的文件夹路径即可。