如何在C#中列出目录中的所有文件?

如何在C#中列出目录中的所有文件?

编码文章call10242025-02-19 10:28:378A+A-

在 C# 中,可以使用 System.IO 命名空间中的 Directory.GetFiles 方法来列出目录中的所有文件。该方法返回指定目录中所有文件的路径数组。

使用Directory.GetFiles列出目录中的所有文件

示例:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string directoryPath = @"C:\exampleFolder";  // 目标目录路径

        try
        {
            // 获取目录中的所有文件
            string[] files = Directory.GetFiles(directoryPath);

            Console.WriteLine("Files in the directory:");
            foreach (string file in files)
            {
                Console.WriteLine(file);  // 打印每个文件的完整路径
            }
        }
        catch (DirectoryNotFoundException)
        {
            Console.WriteLine("Directory not found.");
        }
        catch (UnauthorizedAccessException)
        {
            Console.WriteLine("Access denied.");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

说明:

  1. Directory.GetFiles:该方法返回一个字符串数组,包含指定目录下所有文件的路径。可以选择提供一个搜索模式来过滤特定类型的文件。如果目录为空,返回一个空数组。如果目录不存在,抛出 DirectoryNotFoundException 异常。如果没有访问权限,抛出 UnauthorizedAccessException 异常。
  2. 搜索模式:Directory.GetFiles 可以接受第二个参数,用来定义一个搜索模式(例如过滤特定的文件扩展名)。

示例:列出特定类型的文件

string[] txtFiles = Directory.GetFiles(directoryPath, "*.txt");

该代码将仅返回目录中扩展名为 .txt 的文件。

其他功能:

  • 递归列出所有文件:如果需要递归地列出所有子目录中的文件,可以使用 Directory.GetFiles 的重载方法,提供 SearchOption.AllDirectories。

示例:递归列出所有文件

string[] allFiles = Directory.GetFiles(directoryPath, "*.*", SearchOption.AllDirectories);

总结:

  • Directory.GetFiles 是列出目录中文件的简单方法。
  • 可以通过搜索模式来过滤文件类型。
  • 通过 SearchOption.AllDirectories 可以递归查找所有子目录中的文件。
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4