手机
当前位置:查字典教程网 >编程开发 >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# 调用.bat文件的实现代码

c#启动EXE文件的方法实例

c#使用linq技术创建xml文件的小例子

C#中读写INI文件的方法例子

c# 删除所有的空文件夹的小例子

c#中返回文章发表的时间差的示例

C#定位txt指定行的方法小例子

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

C# Linq读取XML文件的实例

C#简单的加密类实例

精品推荐
分类导航