📜  c# 获取目录中的文件数 - C# (1)

📅  最后修改于: 2023-12-03 15:29:48.261000             🧑  作者: Mango

C# 获取目录中的文件数

在 C# 编程中,有时我们需要获取某个目录下的文件数,这在文件管理、数据统计等场景下是很常见的需求。本文将介绍如何使用 C# 实现获取目录中的文件数的功能。

使用 Directory.GetFiles 方法

C# 中提供了 Directory 类来操作目录,其中 GetFiles 方法可以获取指定目录下的所有文件。代码示例如下:

string path = "C:\\MyFolder\\"; // 目录路径
int fileCount = Directory.GetFiles(path).Length; // 获取该目录下的文件数
Console.WriteLine($"目录 {path} 中共有 {fileCount} 个文件。");

上述代码中,首先定义了一个字符串类型的变量 path 来存放目录路径,然后通过 GetFiles 方法获取该目录下的所有文件,并使用 Length 属性获取文件数目。最后将结果输出给控制台。

需要注意的是,GetFiles 方法默认会获取该目录下的所有文件,包括子目录中的文件。如果只需要获取该目录下的直接子文件,可以在调用该方法时传入一个 SearchOption 枚举类型的参数:

int fileCount = Directory.GetFiles(path, "*", SearchOption.TopDirectoryOnly).Length;

SearchOption.TopDirectoryOnly 表示只获取指定目录下的文件。

使用 DirectoryInfo.GetFiles 方法

除了 Directory 类外,C# 中还提供了 DirectoryInfo 类来操作目录。其中 GetFiles 方法可以获取目录中的所有文件。代码示例如下:

string path = "C:\\MyFolder\\"; // 目录路径
DirectoryInfo di = new DirectoryInfo(path); // 创建目录信息对象
int fileCount = di.GetFiles().Length; // 获取该目录下的文件数
Console.WriteLine($"目录 {path} 中共有 {fileCount} 个文件。");

上述代码中,首先创建了一个 DirectoryInfo 类型的对象 di,然后通过 GetFiles 方法获取该目录下的所有文件,并使用 Length 属性获取文件数目。最后将结果输出给控制台。

同样地,如果需要只获取该目录下的直接子文件,可以在调用方法时传入一个 SearchOption 枚举类型的参数:

int fileCount = di.GetFiles("*", SearchOption.TopDirectoryOnly).Length;

SearchOption.TopDirectoryOnly 表示只获取指定目录下的文件。

总结

通过以上两种方法,我们可以轻松地获取指定目录下的文件数。在实际应用中,还可以根据需求对获取到的文件进行筛选、筛除等操作,以满足不同的需求。