手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#递归遍历文件夹示例
c#递归遍历文件夹示例
摘要:代码很简单,指定需要递归遍历的文件夹和遍历规则就要可以运行了复制代码代码如下://////递归获取文件夹目录下文件//////需要递归遍历的...

代码很简单,指定需要递归遍历的文件夹和遍历规则就要可以运行了

复制代码 代码如下:

/// <summary>

/// 递归获取文件夹目录下文件

/// </summary>

/// <param name="pathName">需要递归遍历的文件夹</param>

/// <param name="fileRule">遍历规则『委托』</param>

public static void LoopFolder(string pathName, Action<FileInfo> fileRule)

{

if (string.IsNullOrEmpty(pathName))

throw new ArgumentNullException(pathName);

Queue<string> _pathQueue = new Queue<string>();

_pathQueue.Enqueue(pathName);

while (_pathQueue.Count > 0)

{

string _path = _pathQueue.Dequeue();

DirectorySecurity _pathSecurity = new DirectorySecurity(_path, AccessControlSections.Access);

if (!_pathSecurity.AreAccessRulesProtected)//文件夹权限是否可访问

{

DirectoryInfo _directoryInfo = new DirectoryInfo(_path);

foreach (DirectoryInfo diChild in _directoryInfo.GetDirectories())

{

_pathQueue.Enqueue(diChild.FullName);

}

foreach (FileInfo file in _directoryInfo.GetFiles())

{

fileRule(file);

}

}

}

}

举例使用

复制代码 代码如下:

CSharpToolV2.LoopFolder(@"C:UsersAdministratorDownloads", (FileInfo file) =>

{

if (file.Extension.Equals(".xls"))//获取excel类型文件

{

Console.WriteLine(string.Format("============{0}==============", file.FullName));

}

c#递归遍历文件夹示例1

【c#递归遍历文件夹示例】相关文章:

C# 创建文本文件写入读取实现代码

ScriptControl控件执行自定义VBS脚本示例分析

c# 文件(夹)创建与删除

计算字符串和文件MD5值的小例子

C#获取全部目录和文件的简单实例

C# 委托(跨窗体操作控件)实例流程讲解

C#技巧之快速删除bin和obj文件夹的方法

C# Linq读取XML文件的实例

C# 撒列实现关键字过滤的实例

c#解压文件的实例方法

精品推荐
分类导航