在c#中计算文件夹中的文件数

时间:2013-04-24 13:20:28

标签: c#

我是编程的新手,需要帮助在C#中创建一个Windows应用程序来计算文件夹中的文件数。

我会用什么方法来计算它?

**更新02/01/2016

正如它所说的那样,文件夹中包含的文件包含。

e.g。如果文件夹包含3个图像文件和3个文本文件,则应用程序应返回值6。

5 个答案:

答案 0 :(得分:10)

您应该使用Directory.GetFiles方法。

int fileCount = Directory.GetFiles(@"C:\MyFolder").Length;

如果您也想搜索子目录,可以使用以下代码:

int fileCount = Directory.GetFiles(@"c:\MyDir\", "*.*", SearchOption.AllDirectories).Length;

请注意,如果目录不存在,则会抛出DirectoryNotFoundException,因此如果您不确定目录是否存在,则可以使用try ... catch块或检查目录是否存在使用Directory.Exists method

if (Directory.Exists(dirName))
{
    // Your code here
}

答案 1 :(得分:4)

您可以使用System.IO.DirectoryInfo;

DirectoryInfo info = new DirectoryInfo(your folder path);
info.GetFiles().Count();

或按照建议:

info.EnumerateFiles();

答案 2 :(得分:4)

试试这个:

var files = Directory.GetFiles(@"C:\SomeFolder").Length;

请注意,如果该目录不存在,则会引发异常。

答案 3 :(得分:4)

// This searches in the current directory and also sub directories
int folderCount = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Length;
// This searches only in the current directory
int folderCount = Directory.GetFiles(path, "*.*", SearchOption.TopDirectory).Length;
祝你好运!

答案 4 :(得分:0)

DirectoryInfo课程会帮助你。

var info = new DirectoryInfo("D:\\");
var files = info.GetFiles();
var dirs = info.GetDirectories();
files.Length;
dirs.Length;