是否有一種快速方法可以將從提供的根目錄開始的每個文件(您有權讀取的文件)的完全限定路徑加載到一個string[]
?Directory.GetFiles上的報告進度
我看到System.IO.Directory.GetFiles
,但你有你被允許輸入SearchOption.AllDirectories
之前提供一個過濾器,所以我嘗試:
string[] directoryList = Directory.GetFiles(RootPath, "*.*",
SearchOption.AllDirectories);
哪裏RootPath
是我有效的,根深蒂固的目錄。這似乎工作正常,除了它將我的Windows窗體應用程序掛起很長一段時間時,它指向一個29GB大小的目錄/文件結構和幾十萬個文件。
所以我想通過BackgroundWorker
對它進行線程化處理,以便我的GUI沒有出現鎖定,但我不知道如何報告ProgressBar
這樣的事情的進度,因爲它只是一個聲明加載和我沒有任何信息的前期文件總數,或它已經處理的數量等