以递归方式查找目录中的文本文件计数
本文关键字:文本 文件 递归 方式 查找 | 更新日期: 2023-09-27 18:33:56
我正在尝试编写一些代码来计算目录及其子目录中的所有文本文件。我尝试了以下代码:
private void button1_Click_1(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath);
MessageBox.Show("Files found: " + files.Length.ToString(), "Message");
}
}
要搜索文件夹及其子目录中的 TXT 文件,请使用:
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.txt", SearchOption.AllDirectories);
无需遍历目录。 已经有一个 .NET 工具可以执行此操作。
要获取具有特定扩展名(包括子目录)的文件列表,请使用,
var files = Directory.EnumerateFiles(srcDir, "*.txt", SearchOption.AllDirectories);
FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
int fileCount = GetFileCount(folderBrowserDialog1.SelectedPath);
}
递归地从父目录和所有子目录中获取文本文件计数,
private int GetFileCount(string s)
{
return Directory.GetFiles(s, "*.txt").Count() + Directory.GetDirectories(s).Select(GetFileCount).Sum();
}