是否有一种快速方法可以将从提供的根目录开始的每个文件(您有权读取的文件)的完全限定路径加载到一个string[]
?Directory.GetFiles上的报告进度
我看到System.IO.Directory.GetFiles
,但你有你被允许输入SearchOption.AllDirectories
之前提供一个过滤器,所以我尝试:
string[] directoryList = Directory.GetFiles(RootPath, "*.*",
SearchOption.AllDirectories);
哪里RootPath
是我有效的,根深蒂固的目录。这似乎工作正常,除了它将我的Windows窗体应用程序挂起很长一段时间时,它指向一个29GB大小的目录/文件结构和几十万个文件。
所以我想通过BackgroundWorker
对它进行线程化处理,以便我的GUI没有出现锁定,但我不知道如何报告ProgressBar
这样的事情的进度,因为它只是一个声明加载和我没有任何信息的前期文件总数,或它已经处理的数量等