下面的代码将获取系统中的所有文件:
private void Button1_Click(object sender, EventArgs e)
{
var allDrives = DriveInfo.GetDrives();
List<string> list = new List<string>();
foreach (DriveInfo d in allDrives)
{
if (d.DriveType == DriveType.Fixed)
{
list.Add(d.Name);
}
}
var listfile = new List<string>();
foreach (var item in list)
{
GetAllFiles(item, listfile);
}
foreach (var item in listfile)
{
listBox1.Items.Add(item);
}
}
public void GetAllFiles(string path, IList<string> files)
{
try
{
Directory.GetFiles(path).ToList()
.ForEach(f => files.Add(f));
Directory.GetDirectories(path).ToList()
.ForEach(f => GetAllFiles(f, files));
}
catch (Exception ex)
{
}
}
它工作,但非常慢。 有没有更快的方法来做这件事?
它工作,但非常慢。 有没有更快的方法来做这件事?
是的。