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
参数,通过递归方式获取所有子目录下的文件列表。