private void button1_Click(object sender, EventArgs e) {
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK) {
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath);
MessageBox.Show("Files found: " + files.Length.ToString(), "Message");
}
}
这会计算文件夹中的文件数。但我只需要计算文件夹中的特定文件.txt
或.mp3
答案 0 :(得分:1)
DirectoryInfo di = new DirectoryInfo(@"C:/temp");
di.GetFiles("test?.txt").Length;
或
di.GetFiles("*.txt").Length;
答案 1 :(得分:0)
检查文件是否'扩展名在您指定的集合中:
var validExts = new []{".txt", ".mp3"};
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath)
.Where(f => validExts.Contains(Path.GetExtension(f)))
.ToArray();
答案 2 :(得分:0)
只需 union 不同的扩展程序:
String[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.txt")
.Union(Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.mp3"))
.ToArray();
您可以根据需要链接尽可能多的Union
。如果您只想计算文件,则不必使用任何数组:
private void button1_Click(object sender, EventArgs e) {
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
MessageBox.Show(Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.txt")
.Union(Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.mp3"))
.Count(),
"Message")
}