//遍历一个目录下所有的文件列表,代码实例

DirectoryInfo dir = new DirectoryInfo(folderName);

var list = GetAll(dir);

///

/// 搜索文件夹中的文件

///

///

///

private static List GetAll(DirectoryInfo dir)

{

List fileList = new List();

FileInfo[] allFile = dir.GetFiles();

foreach (FileInfo fi in allFile)

{

fileList.Add(fi.FullName);

}

DirectoryInfo[] allDir= dir.GetDirectories();

foreach (DirectoryInfo d in allDir)

{

fileList.AddRange(GetAll(d));

}

return fileList;

}

File------实用类,提供许多静态方法,用于移动、删除、和复制文件。

Directory------实用类,提供许多静态方法,用于移动、删除和复制目录。

FileInfo------表示磁盘上的物理文件,具有可以处理此文件的方法,要完成对文件的读写工作,就必须创建Stream对像。

DirectoryInfo------表示磁盘上的物理目录,具有可以处理此目录的方法

这里提供了三种方法:

1、获得指定目录下的所有文件

2、获得指定目录及其子目录的所有文件

3、列出指定目录下及所其有子目录及子目录里更深层目录里的文件(需要递归)

代码如下:

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.IO;namespaceWebAppFile

{public partial class_Default : System.Web.UI.Page

{protected void Page_Load(objectsender, EventArgs e)

{string filePath=@"c:/log/";

Response.Write("测试1,获得指定目录下的所有文件:
");

List list1 =GetFilesByDir(filePath);foreach (FileInfo fi inlist1)

{

Response.Write("完整路径:" + fi.FullName.ToString() + "文件名:" + fi.Name + "
");

}

Response.Write("
测试2,获得指定目录及其子目录的所有文件:
");

List list2 =GetAllFilesByDir(filePath);foreach (FileInfo fi inlist2)

{

Response.Write("完整路径:"+fi.FullName.ToString() +"文件名:"+fi.Name+ "
");

}

Response.Write("
测试3,列出指定目录下及所有子目录及子目录里更深层目录里的文件:
");

GetAllFiles(filePath);

}///

///获得指定目录下的所有文件///

///

///

public List GetFilesByDir(stringpath)

{

DirectoryInfo di= newDirectoryInfo(path);//找到该目录下的文件

FileInfo[] fi =di.GetFiles();//把FileInfo[]数组转换为List

List list = fi.ToList();returnlist;

}///

///获得指定目录及其子目录的所有文件///

///

///

public List GetAllFilesByDir(stringpath)

{

DirectoryInfo dir= newDirectoryInfo(path);//找到该目录下的文件

FileInfo[] fi =dir.GetFiles();//把FileInfo[]数组转换为List

List list = fi.ToList();//找到该目录下的所有目录里的文件

DirectoryInfo[] subDir =dir.GetDirectories();foreach (DirectoryInfo d insubDir)

{

List subList =GetFilesByDir(d.FullName);foreach (FileInfo subFile insubList)

{

list.Add(subFile);

}

}returnlist;

}///

///列出指定目录下及所其有子目录及子目录里更深层目录里的文件(需要递归)///

///

public void GetAllFiles(stringpath)

{

DirectoryInfo dir= newDirectoryInfo(path);//找到该目录下的文件

FileInfo[] fi =dir.GetFiles();foreach (FileInfo f infi)

{

Response.Write("完整路径:" + f.FullName.ToString() + "文件名:" + f.Name + "
");

}//找到该目录下的所有目录再递归

DirectoryInfo[] subDir =dir.GetDirectories();foreach (DirectoryInfo d insubDir)

{

GetAllFiles(d.FullName);

}

}

}

}

运行结果:

测试1,获得指定目录下的所有文件:

完整路径:c:/log/2010-12-17.xml 文件名:2010-12-17.xml

完整路径:c:/log/2010-12-20.xml 文件名:2010-12-20.xml

测试2,获得指定目录及其子目录的所有文件:

完整路径:c:/log/2010-12-17.xml 文件名:2010-12-17.xml

完整路径:c:/log/2010-12-20.xml 文件名:2010-12-20.xml

完整路径:c:/log/LogBak/2010-11-20.xml 文件名:2010-11-20.xml

测试3,列出指定目录下及所有子目录及子目录里更深层目录里的文件:

完整路径:c:/log/2010-12-17.xml 文件名:2010-12-17.xml

完整路径:c:/log/2010-12-20.xml 文件名:2010-12-20.xml

完整路径:c:/log/LogBak/2010-11-20.xml 文件名:2010-11-20.xml

完整路径:c:/log/LogBak/TempLog/2010-11-20.xml 文件名:2010-11-20.xml

关于第3种列出指定目录下及其所有子目录及子目录里更深层目录里的文件(需要递归),如何写成一个方法呢,希望大家来帮忙。

c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...相关推荐

  1. php上传图片到文件夹,2018.09.14PHP获取页面上传的图片存到指定文件夹再存到数据库中...

    一.html代码 //传值方式必须是post 请选择要上传的文件: 二.php代码 session_start(); include 'mysql.php'; //获取图片所有的属性 $filenam ...

  2. 服务器c盘有个inetpub文件夹,关于C盘中的inetpub文件夹在win10电脑中的删除处理方法...

    win10的系统是很多的小伙伴在选择安装系统的时候都会会选择的,那在电脑中有小伙伴需要清理电脑中的文件夹的时候发现C盘中有一个inetpub文件夹的设置的,那在遇到这个问题我们应该怎么办呢,今天小编就 ...

  3. 请问苹果x是如何建文件夹_Mac OS X中创建新文件夹的几种方法

    在日常的生活工作中,我们经常需要创建新的文件夹,这些文件夹可以帮助我们更好的管理我们的文件和电脑.因此创建新文件夹也是每个用户都会的事,在最新的MAC OS X系统中,我们可以通过几种方法创建新文件夹 ...

  4. 删除的文件夹不在回收站中如何恢复呢?

    当我们的工作内容是不断增加的,而电脑的存储空间又有限,所以在办公生活中,我们可能就需要删除电脑上一些不必要的垃圾文件.有时我们不小心删除文件,尤其是照片.视频.文档和其他重要文件.但回收站里没有找到, ...

  5. android+assets+在哪,我在哪里将’assets’文件夹放在Android Studio中?

    我对assets文件夹感到困惑. 它不是在Android Studio中自动创建的,几乎所有论坛都讨论了Eclipse. 如何在Android Studio中配置Assets目录? 由于Android ...

  6. excel怎么连接html文件夹,excel如何批量超链接到指定的文件夹,看完你就知道了...

    在我们平时做excel文件时,一列的数据往往会对应有附件,但是我们只能通过手动的方式进行超链接的连接,本篇文章教你使用一个函数即可批量完成. 工具/材料 excel 操作方法 01 了解函数 在这篇实 ...

  7. 地理国情监测,arcpy将文件夹多个gdb的要素数据集Dataset下的要素类featureClass,使用FeatureClassToShapefile_conversion转换成shapefile

    地理国情监测,arcpy将文件夹多个gdb的要素数据集Dataset下的要素类featureClass,使用FeatureClassToShapefile_conversion转换成shapefile ...

  8. R语言使用fs包的dir_create函数在指定路径下创建新的文件夹、使用file_create函数在指定文件夹下创建文件

    R语言使用fs包的dir_create函数在指定路径下创建新的文件夹.使用file_create函数在指定文件夹下创建文件 目录

  9. php遍历目录与文件夹,介绍几种php遍历目录与文件夹的方法

    介绍几个php遍历目录的方法,可以遍历目录及目录中的文件,供大家参考 遍历目录或遍历目录下指定类型的文件,这是每一个童鞋在写程序的时候难免会用到的.PHP本身也提供了很多灰常有用的函数,正确地使用它们 ...

最新文章

  1. 公开处刑:PapersWithCode上线“论文复现报告”,遏制耍流氓行为!
  2. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结
  3. html表单的数据保存在哪里,提交和保存表单数据
  4. 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
  5. 【运营干货】段子手打死也不会告诉广告主的事:一篇新媒体文案如何才能引发用户分享?...
  6. CDOJ1324-卿学姐与公主 【线段树点更新】
  7. 纯CSS图片缩放后显示详细信息
  8. 多种数据形式下智能问答的应用解读
  9. VTK:Rendering之StringToImageDemo
  10. c语言hash存储,C语言实现HashTable(一) 介绍
  11. matlab2012生成dll,64位win7下vc2010如何調用matlab2012a中生成的dll文件
  12. oracle 存储中文 u码,Oracle 汉字 占位
  13. Hadoop数据目录迁移
  14. 反向传播的目的,及其为什么要从后向前计算梯度
  15. 文字和图片放一起, 文字下沉的处理方法
  16. 飞利浦e570有JAVA吗_飞利浦E570不仅仅是手机还是一款可通话的移动电源
  17. OBS Studio 27.0.1版本编译
  18. 蓝牙4.2 安全连接
  19. python模拟微信发红包,并验证随机性
  20. 导弹追踪飞机c语言编程,防御导弹 (C语言代码)

热门文章

  1. Serverless 崛起背后的五大挑战
  2. 从入门到入土:基于Python|ACK|FIN|Null|Xmas|windows|扫描|端口扫描|scapy库编写|icmp协议探测主机|对开放端口和非开放端口完成半连接扫描|全连接扫描|
  3. “全宇宙首个”用中文编写的操作系统,作者还自创了甲、乙、丙编程语言?
  4. 从头开始编写一个时间序列数据库
  5. 估值飙至 280 亿美元,Databricks G 轮融资 10 亿美元,谁说开源不挣钱?
  6. 9 个小技巧让你的 if else 看起来更优雅!
  7. 35 万行代码,旷视重磅开源天元深度学习框架 ,四大特性实现简单开发
  8. 官宣!阿里进军 5G,成立 XG 实验室发力新基建
  9. 程序员都应该了解的一种数据格式之 JSON
  10. 华为否认今年将推出搭载鸿蒙系统手机;苹果或在 3 年内推出 5G 基带芯片;Node.js 12.12.0 发布 | 极客头条...