取得指定路径下所有目录及文件名称(递归)
2007/7/21 13:31:11
阅读全文(5097) | 回复(0) | 编辑 | 精华
cpf20072008 @ 2007-07-13 08:42 using System.IO; /// /// 取得指定路径下所有目录及文件名称(可递归)/// /// 指定路径/// 要与 strDir 中的文件名匹配的搜索字符串/// 例:/// “*.abc*”返回扩展名为 .abc、.abcd、.abcde、.abcdef 等的文件。/// “*.abcd”只返回扩展名为 .abcd 的文件。/// “*.abcde”只返回扩展名为 .abcde 的文件。/// “*.abcdef”只返回扩展名为 .abcdef 的文件。/// /// 查询得到的所有目录ArrayList/// 查询得到的所有文件名称ArrayList/// 是否递归查询private void GetFileList(string strDir, string strFilePattern, ArrayList arrDirs, ArrayList arrFiles, bool bIsRecursive){ if (string.IsNullOrEmpty(strDir)) { // 参数正确性检查 return; } try { // 取得指定路径下所有符合条件的文件 string[] strFiles = Directory.GetFiles(strDir, strFilePattern); // 取得指定路径下所有目录 string[] strDirs = Directory.GetDirectories(strDir); foreach (string name in strFiles) { // 将所有文件名称加入结果ArrayList中 arrFiles.Add(name); } foreach (string name in strDirs) { // 将所有目录加入结果ArrayList中 arrDirs.Add(name); } if (bIsRecursive) { // 递归 if (strDirs.Length > 0) { foreach (string dir in strDirs) { // 递归遍历所有文件夹 GetFileList(dir, strFilePattern, arrDirs, arrFiles, bIsRecursive); } } } } catch {// 异常处理 }}
Posted by Qr on 2007/7/21 13:31:11
发表评论: |