遍历文件名程序

//////////////////第一种方法/////////////
static ArrayList GetAllFiles(string path)
{
ArrayList ret = new ArrayList();
ret.AddRange(Directory.GetFiles(path));
foreach (string subDirPath in Directory.GetDirectories(path))
{
ret.AddRange(GetAllFiles(subDirPath));
}
return ret;
}
用于C:\Windows的话,约12000个文件,不超过3秒钟 //////第二种方法///////////4行搞定。。委托
static List<string> GetAllFiles(string path)
{
List<string> ret = new List<string>();
ret.AddRange(Directory.GetFiles(path));
Array.ForEach(Directory.GetDirectories(path),
delegate(string path1){ ret.AddRange(GetAllFiles(path1));});
return ret;
} ////////////////////////以上返回的全是包含路径的如c:\file.exe////////////////////////
//////////////////第三种方法 只有文件名////////////////////////
static void Main(string[] args )
{
DirectoryInfo derectory = new DirectoryInfo(@"G:\");
foreach (var file in directory.GetFiles())
{
Console.WriteLine("文件名有{0}",file);
}
Console.ReadLine();
}

获取本地G盘目录下的所有文件名,注意,仅仅只有文件名称,不包含文件夹名称,如果想得到全路径,需要使用FullName属性:

foreach (var file in directory.GetFiles())
{
Console.WriteLine("文件名有{0}",file.FullName);
}

--------------------------------------------------

GetFiles获取的就是当前文件夹下面的文件,子文件夹不包括!
MSDN上面是这样说的:
GetFiles(String) 返回指定目录中的文件的名称。 
GetFiles(String, String) 返回指定目录中与指定搜索模式匹配的文件的名称。 
GetFiles(String, String, SearchOption) 返回指定目录中文件的名称,该目录与指定搜索模式匹配并使用某个值确定是否在子目录中搜索。

最新文章

  1. 关于BP网络的一些总结
  2. Swift3.0语言教程获得一个公共的前缀
  3. 在O(1)时间删除链表结点
  4. MySQL和Navicat使用总结
  5. Android:控件ListView列表项与适配器结合使用
  6. Java_Web _Servlet生命周期实验
  7. poj棋盘分割(记忆化)
  8. BZOJ3323: [Scoi2013]多项式的运算
  9. poj 1265 Area(Pick定理)
  10. [转]Cocos Studio和Cocos2d-x版本对应关系
  11. ZOJ 2059 The Twin Towers
  12. MP3 信息读取
  13. Docker最全教程之Ubuntu下安装Docker(十四)
  14. Flutter 获取服务器数据
  15. Vmware的虚拟机示例进入BIOS方法
  16. CentOS在VirtualBox虚拟机中网络配置
  17. A - Black Box 优先队列
  18. Ubuntu 16.04下如何安装VMware-Workstation
  19. (2编写网络)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
  20. 腾讯云服务器 - 安装redis3.2.9以及集群

热门文章

  1. [LeetCode] Longest Palindrome Substring 具体分析
  2. Sublime Text Package Collections
  3. NSIS API 函数常用备份
  4. 编程算法基地-2.1利用字符串API
  5. TortoiseGit客户端密钥配置
  6. jQuery整理笔记文件夹
  7. 携程Java工程师——一道面向对象面试选择题(转)
  8. RAC下一个Fatal NI connect error 12170.错误处理
  9. MOCK.JS 生成随机数据,拦截 Ajax 请求
  10. 架构设计之设计模式 (一) 适配器(Adapter)---提高复用性