C#如何遍历一个文件夹下面所有的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何遍历一个文件夹下面所有的文件相关的知识,希望对你有一定的参考价值。

我想在得到一文件夹(a)下所有的文件名。如果a下还有文件也要获取。
并把所有文件名放到listbox里
文件名后缀也要
并且知道文件夹(a)文件名的个数。 把这个过程写成一个函数 。。

引用
using System.IO;
方法
void GetAllFiles(string dir,List<string> allFiles)

DirectoryInfo di = new DirectoryInfo(dir);
if (!di.Exists) return;//如果目录不存在,退出
var currentDirFiles = di.GetFiles().Select(p => p.Name);//获取当前目录所有文件
allFiles.AddRange(currentDirFiles);//将当前目录文件放到allFiles中
var currentDirSubDirs = di.GetDirectories().ToList();//获取子目录
currentDirSubDirs.ForEach(p => GetAllFiles(p.FullName, allFiles));//将子目录中的文件放入allFiles中

用法
List<string> a = new List<string>();
GetAllFiles(@"d:\files\", a);
a里面的就是所有文件
参考技术A String[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);


int file_count=files.Length;

追问

能注释下吗?

追答

参考Directory.GetFiles的方法 ,第一个参数是路劲,第二个参数是文件的赛选条件,*代表全部文件,第三个参数是获取该路劲下的全部文件(包括子文件夹),

获取到了文件,返回的是文件的名称数据,获取该数组的长度就能得到该文件夹下所有文件的个数

追问

输出的结果是 AllDirectories
我想要的是 查询指定文件夹下的指定后缀的文件名及个数。文件夹地址用@textbox1.text 。

追答

var files = Directory.GetFiles(path, "*.jpg",SearchOption.AllDirectories);

第二个参数指定类型

本回答被提问者和网友采纳

遍历一个文件夹下面所有的文件和子文件夹

<?php 
//遍历一个文件下的所有文件夹和子文件夹

$dir = ‘../bootstrap-3.3.7-dist‘;

function showdir($dir){
    $arr = array();
    if($hd = opendir($dir)){
        while($file = readdir($hd)){
            if($file !== ‘..‘ && $file !== ‘.‘){
                if(is_dir($dir.‘/‘.$file)){
                    $arr[$file] = showdir($dir.‘/‘.$file);
                }else{
                    $arr[] = $file;
                }
            }
        }
    }
    closedir($hd);
    return $arr;
}

print_r(showdir($dir));

?>


本文出自 “手掌上的阳光” 博客,请务必保留此出处http://xiaobai123.blog.51cto.com/11280470/1971296

以上是关于C#如何遍历一个文件夹下面所有的文件的主要内容,如果未能解决你的问题,请参考以下文章

C#如何遍历指定目录以及指定目录下所有子文件夹,并获取除指定文件类型以外的所有文件的绝对路径?

C#在遍历文件结构时如何判断所有线程或任务何时完成[重复]

C#获取如何获取指定文件夹下文件的个数??、

请教,如何遍历一个文件夹下的所有文本文件

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历文件夹获得所有文件