抽个时间实现了这个小程序。如图:
文件格式:指的是文件哪种类型。
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 显示文件夹下所有文件
{
public partial class frmMain : Form
{
private List<string> files = new List<string>();
private int fileCount=0;
public frmMain()
{
InitializeComponent();
}
//文件目录
private void DoDir(string dir)
{
this.files.Clear();
this.txtShowPag.Clear();
this.AddDirFiles(dir);
}
//加载目录下所有文件
private void AddDirFiles(string dir)
{
DirectoryInfo di = new DirectoryInfo(dir);
FileInfo[] fis = di.GetFiles($"*.{txtFileType.Text.Trim()}");//文件类型
foreach (FileInfo fi in fis)
this.files.Add(fi.FullName);
if (this.checkRecusive.Checked)//如果选择遍历所有文件
{
DirectoryInfo[] dis = di.GetDirectories();//目录下的子目录
foreach (DirectoryInfo item in dis)
this.AddDirFiles(item.FullName);
}
}
//展示文件
private void btnShowFile_Click(object sender, EventArgs e)
{
DoDir(txtPath.Text.Trim());
fileCount = files.Count;
foreach (string item in files)
{
txtShowPag.Text += item+"\r\n";
}
lblCount.Text = "文件总数量:" + $"{fileCount.ToString()}";
}
//选择目录
private void btnDir_Click(object sender, EventArgs e)
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() == DialogResult.Cancel)
return;
txtPath.Text = dlg.SelectedPath;
}
}
}
欢迎大家指正。。。。