温馨提示×

怎样用Directory.GetFiles过滤文件类型

小樊
118
2024-10-11 08:59:45
栏目: 编程语言

在C#中,你可以使用Directory.GetFiles方法结合Path.GetExtension方法来过滤特定类型的文件。以下是一个示例代码,展示了如何获取指定目录下所有特定类型的文件(例如,只获取扩展名为.txt的文件):

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 指定要搜索的目录
        string directoryPath = @"C:\example_directory\";

        // 指定要过滤的文件类型(扩展名)
        string fileExtension = ".txt";

        try
        {
            // 获取目录下所有指定扩展名的文件
            string[] files = Directory.GetFiles(directoryPath, fileExtension);

            // 输出结果
            Console.WriteLine($"在目录 {directoryPath} 下找到以下 {fileExtension} 文件:");
            foreach (string file in files)
            {
                Console.WriteLine(file);
            }
        }
        catch (Exception ex)
        {
            // 处理异常(例如,目录不存在)
            Console.WriteLine($"发生错误:{ex.Message}");
        }
    }
}

在这个示例中,Directory.GetFiles方法用于获取目录下所有文件,然后通过Path.GetExtension方法检查每个文件的扩展名是否与指定的fileExtension匹配。如果匹配,则该文件会被包含在结果数组中。

注意:Directory.GetFiles方法还可以接受一个额外的参数,用于搜索子目录中的文件。如果你想要递归地搜索整个目录树,可以将第二个参数设置为true。例如:

string[] files = Directory.GetFiles(directoryPath, fileExtension, SearchOption.AllDirectories);

0