下面是关于“C#获取指定目录下指定文件的方法”的完整攻略。
第一步:引用命名空间
在进行相关操作之前,需要引用System.IO
命名空间,这个命名空间提供了用于操作文件和文件夹的类和接口。
using System.IO;
第二步:获取指定目录下的所有文件列表
可以使用Directory.GetFiles()
方法来获取指定目录下的所有文件列表,该方法返回一个字符串数组,每个元素都是该目录下的一个文件的完整路径。
string directoryPath = @"C:\Users\Admin\Desktop"; // 指定目录路径
string[] fileList = Directory.GetFiles(directoryPath); // 获取该目录下的所有文件
第三步:获取指定目录下指定文件的完整路径
可以使用Directory.GetFiles()
方法的重载版本,该方法接受一些特定的搜索条件,可以用来过滤指定的文件。
例如,以下代码将返回指定目录下所有扩展名为.txt
和.pdf
的文件的完整路径:
string directoryPath = @"C:\Users\Admin\Desktop"; // 指定目录路径
string[] extensions = { ".txt", ".pdf" }; // 指定要搜索的文件扩展名
string[] fileList = Directory.GetFiles(directoryPath, "*.*", SearchOption.AllDirectories) // 获取目录下所有文件(包括子目录)
.Where(file => extensions.Contains(Path.GetExtension(file))) // 根据扩展名过滤文件
.ToArray(); // 将结果转化为数组
在上述代码中,SearchOption.AllDirectories
表示将在指定目录及其所有子目录中搜索文件。Path.GetExtension()
方法用于获取指定路径的文件名的扩展名,Where()
方法用于根据扩展名过滤文件。
示例说明1
假设我们需要获取桌面上所有扩展名为.txt
和.pdf
的文件的完整路径,可以使用以下代码:
string directoryPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // 获取桌面路径
string[] extensions = { ".txt", ".pdf" }; // 指定要搜索的文件扩展名
string[] fileList = Directory.GetFiles(directoryPath, "*.*", SearchOption.AllDirectories) // 获取目录下所有文件(包括子目录)
.Where(file => extensions.Contains(Path.GetExtension(file))) // 根据扩展名过滤文件
.ToArray(); // 将结果转化为数组
在上述代码中,Environment.GetFolderPath()
方法用于获取桌面路径,这是一个特殊文件夹,我们无法直接通过路径来访问。*.*
表示搜索所有文件,包括没有扩展名的文件。
示例说明2
假如我们需要获取指定目录下所有文件名带有特定前缀的文件的完整路径,可以使用以下代码:
string directoryPath = @"C:\Users\Admin\Desktop"; // 指定目录路径
string prefix = "my_"; // 指定前缀
string[] fileList = Directory.GetFiles(directoryPath, "*.*") // 获取目录下所有文件
.Where(file => Path.GetFileName(file).StartsWith(prefix)) // 根据前缀过滤文件
.ToArray(); // 将结果转化为数组
在上述代码中,Path.GetFileName()
方法用于获取指定路径的文件名,StartsWith()
方法用于判断字符串是否以指定前缀开头。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取指定目录下指定文件的方法 - Python技术站