您的位置:首页 > 其它

递归获取指定盘符下的所有文件及文件夹

2015-05-11 11:03 337 查看
    /// <summary>

/// 递归获取指定盘符下的所有文件及文件夹

/// 存在部分文件夹访问权限问题

/// </summary>

/// <param name="path">string path = @"G:\"; </param>

/// <param name="filter">string filter = "*.mp3";</param>

private static void ParseDirectory(string path, string filter)

{

//获取目录下所有文件夹路径

string[] dirs = Directory.GetDirectories(path);

if (dirs.Length == 0 )

return;

IEnumerator iter = dirs.GetEnumerator();

//遍历当前路径下文件夹路径及文件名

while (iter.MoveNext())

{

string str = (string)(iter.Current);

ParseDirectory(str, filter);

}

//获取指定文件夹中指定的内容

string[] files = Directory.GetFiles(path, filter);

if (files.Length > 0)

{

m_pathList.Add(files);

}

}

递归(recursion):程序调用自身的编程技巧。
递归满足2个条件:

1)有反复执行的过程(调用自身)

2)有跳出反复执行过程的条件(递归出口)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: