0

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

我会用什么方法让它计数?

**更新 02/01/2016

正是它所说的,文件夹中包含的文件数量。

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

4

5 回答 5

11

您应该使用Directory.GetFiles方法。

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

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

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

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

if (Directory.Exists(dirName))
{
    // Your code here
}
于 2013-04-24T13:23:24.187 回答
5
// 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;

祝你好运!

于 2013-04-24T13:23:06.413 回答
4

您可以使用System.IO.DirectoryInfo;

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

或按照建议:

info.EnumerateFiles();
于 2013-04-24T13:21:20.177 回答
4

尝试这个:

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

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

于 2013-04-24T13:21:48.583 回答
0

DirectoryInfo课堂会帮助你。

var info = new DirectoryInfo("D:\\");
var files = info.GetFiles();
var dirs = info.GetDirectories();
files.Length;
dirs.Length;
于 2013-04-24T13:23:01.747 回答