隐藏

C# 程序获取目录中存在的所有文件

发布:2023/12/28 20:16:22作者:管理员 来源:本站 浏览次数:542

1. 简介


在C#中,获取文件列表是一种经常需要的操作,尤其是在需要对多个文件进行批处理或者文件管理的情况下。本文将介绍如何使用C#编写程序,获取指定目录下所有的文件列表。

2. 获取目录信息

2.1 使用Directory类


Directory 类是 C# 中管理目录的一个类,它包含一组静态方法和属性,提供了一些很有用的功能。要获取指定目录下的文件列表,可以使用Directory.GetFiles() 方法。


string[] files = Directory.GetFiles(@"C:\directoryPath");

foreach (string file in files) {

   Console.WriteLine(file);


}


上述代码将返回指定目录下所有文件的全路径,可以通过foreach 循环遍历并输出每个文件的完整路径。


需要注意,Directory.GetFiles() 方法还支持传入参数搜索模式,用于只返回满足指定搜索条件的文件列表。


string[] files = Directory.GetFiles(@"C:\directoryPath", "*.txt");

foreach (string file in files) {

   Console.WriteLine(file);


}


上述代码将只返回指定目录下所有扩展名为 txt 的文件路径。

2.2 使用DirectoryInfo类


除了Directory 类,C# 还提供了DirectoryInfo 类用于管理目录。在获取目录下文件列表时,DirectoryInfo 类同样提供了GetFiles() 方法。


DirectoryInfo dir = new DirectoryInfo(@"C:\directoryPath");

foreach (FileInfo file in dir.GetFiles()) {

   Console.WriteLine(file.FullName);


}


上述代码将返回指定目录下所有文件的全路径,可以通过foreach 循环遍历并输出每个文件的完整路径。


需要注意,DirectoryInfo.GetFiles() 方法同样支持传入参数搜索模式,用于只返回满足指定搜索条件的文件列表。


DirectoryInfo dir = new DirectoryInfo(@"C:\directoryPath");

foreach (FileInfo file in dir.GetFiles("*.txt")) {

   Console.WriteLine(file.FullName);


}


上述代码将只返回指定目录下所有扩展名为 txt 的文件路径。

3. 获取子目录信息


如果需要获取指定目录下所有目录下的文件列表,可以使用Directory.GetFiles() 方法结合foreach 循环,通过递归遍历的方式获取子目录信息。


string[] files = Directory.GetFiles(@"C:\directoryPath", "*", SearchOption.AllDirectories);

foreach (string file in files) {

   Console.WriteLine(file);


}


上述代码将返回指定目录下所有文件的全路径,包括其所有子目录下的文件。需要注意,SearchOption.AllDirectories 参数将会递归获取所有子目录下的文件列表。

4. 总结


通过本文的介绍,我们已经学习了如何使用C#编写程序,获取指定目录下所有的文件列表。我们可以选择使用Directory 类或者DirectoryInfo 类来实现目录信息的获取,并且可以通过搜索模式来只返回满足条件的文件列表。如果需要获取子目录下的文件列表,则需要使用Directory.GetFiles() 方法结合SearchOption.AllDirectories 参数,通过递归方式获取所有子目录下的文件列表。