永发信息网

C# 遍历文件夹下所有子文件夹中的文件,得到文件名

答案:4  悬赏:0  手机版
解决时间 2021-03-30 21:52
C# 遍历文件夹下所有子文件夹中的文件,得到文件名
最佳答案
输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:
///
/// 查找指定文件夹下指定后缀名的文件
///

/// 文件夹
/// 后缀名
/// 文件路径
public void GetFiles(DirectoryInfo directory, string pattern, ref List fileList)
{
if (directory.Exists || pattern.Trim() != string.Empty)
{
try
{
foreach (FileInfo info in directory.GetFiles(pattern))
{
fileList.Add(info.FullName.ToString());
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
}
foreach (DirectoryInfo info in directory.GetDirectories())//获取文件夹下的子文件夹
{
GetFiles(info, pattern, ref fileList);//递归调用该函数,获取子文件夹下的文件
}
}
}

使用实例:
List FindResult = new List();
GetFiles(new DirectoryInfo(@"C:","*.*", ref FindResult); //获取C盘下的所有文件路径
GetFiles(new DirectoryInfo(@"\192.168.1.107Save"), "*.*", ref FindResult);//获取局域网上共享文件夹下的所有文件

全部回答
递归查找,算法去百度下,多的是。
///
/// 查找指定文件夹下指定后缀名的文件
///

/// 文件夹
/// 后缀名
/// 文件路径
public static List GetFiles(DirectoryInfo directory, string pattern)
{
List result = new List();
if (directory.Exists || pattern.Trim() != string.Empty)
{
try
{
foreach (FileInfo info in directory.GetFiles(pattern))
{
result.Add(info.FullName.ToString());
num++;
}
}
catch { }
foreach (DirectoryInfo info in directory.GetDirectories())
{
GetFiles(info, pattern);
}
}
return result;
}
找了一下,以前写过这个方法,调用它就可以得到结果。
比如List FindResult = GetFiles(@"C:\","*.*");就可以得到C盘下所有文件。
你也可以只查找图片,List FindResult = GetFiles(@"盘符:\a","*.jpg");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
新光电器城一种DVD的原价是每台1850元,现在
给oracle表中的时间字段加时间怎么加
2017年农历闰六月初四,晚上九点二十三分出生
城管协管怎样辞职,
这是什么窝
在医院附近开早餐店怎么样?拜托各位大神
二手房买卖违约,如果买家申请财产保全,要求
简述玻璃棉和岩棉的区别,经验交流
朋友遇到倒霉事我用( )这个成语
梦幻西游45级做红尘试练,做了关于雷鸟人的剧
请以别了美丽为题结合自己的生活经历写一篇不
2018你要为身边的人做些什么事情
36槽12极电机的节距?
利源汽车修理厂(通辽科尔沁区)地址在什么地方
广东省揭阳市惠来县哪里有人帮忙通厕所的求个
推荐资讯
酒后无德的男人怎么应付?
哪个国家相机最好最便宜
华硕n81vg的adsm指纹识别 我在注册指纹时总是
是哪家第一个研发的液氮分子冰淇淋
用挨造句
有没有与“铩羽而归”“折戟沉沙”意思相近的
跑跑卡丁车里的所有特别的车的资料?
求剑三莫毛的同人文包越多越好最近文荒了QAQ
楼梯防滑垫怎么固定
2.4米长的led灯条应该用多大的电源?
九台户口可以再长春换二代身份证吗
为什么dopa被禁赛还被封号,就因为太厉害吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?