我寫了一個方法,需要找到路徑中的所有文件,並且我想使用遞歸獲取所有文件。這是我目前的方法:獲取路徑內的所有文件(遞歸)
public void doStart(DirectoryInfo dir, string filePattern)
{
try
{
foreach (FileInfo fileInfo in dir.GetFiles(filePattern))
{
if (fileFound != null)
{
fileFound(fileInfo);
}
}
}
catch (Exception)
{
}
try
{
foreach (DirectoryInfo dirInfo in dir.GetDirectories())
{
doStart(dirInfo, filePattern);
}
}
catch (Exception)
{
}
}
public void Start(string path, string filePattern)
{
doStart(new DirectoryInfo(path), filePattern);
}
是否有更好的方法來寫這種遞歸或者是否足夠好?
的代碼搜索在此代碼的所有子目錄:'的foreach(DirectoryInfo的dirInfo在dir.GetDirectories()){ DOSTART (dirInfo,filePattern); } –
@NikolaDavidovic根據MSDN,它沒有(http://msdn.microsoft.com/en-us/library/s7xk2b58.aspx),它只獲取當前目錄的子目錄。 – Stefan
啊,現在我看到了遞歸。沒關係。 :) – Stefan