- 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
- {// 异常处理
- }
- }
C#取得指定路径下所有目录及文件名称
最新推荐文章于 2024-06-27 14:42:13 发布