永发信息网

C#怎么将一个文件夹下所有文件(包括子文件夹内的)名字中包含某一字符的文件遍历出来,求其数量

答案:2  悬赏:50  手机版
解决时间 2021-03-26 13:48
C#怎么将一个文件夹下所有文件(包括子文件夹内的)名字中包含某一字符的文件遍历出来,求其数量
最佳答案
递归搜索

List strs = new List();
private void Form1_Load(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("文件夹名称");
bianli(dir, "关键字");
MessageBox.Show("总共有" + strs.Count + "个文件有关键字");
}

///
/// 遍历文件夹并找出包含特定关键字的文件
///

/// 文件夹
/// 关键字
void bianli(DirectoryInfo dir,string str)
{
FileInfo[] files = dir.GetFiles();
foreach (FileInfo f in files)
{
if (f.Name.IndexOf(str) >= 0)
{
strs.Add(f.Name);
}
}
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo d in dirs)
{
bianli(d, str);
}
}追问


这样写不对吗,应该怎样写呢
追答您这代码简直乱七八糟。。。
foreach是递归files中的所有文件 for 也是递归files中所有文件 这样会出现叠加次数几何级数增加的情况

方法真的用我上面那个bianli方法就好 .net程序的话 传入的文件夹地址换成网络地址就行了
可以DirectoryInfo dir = new DirectoryInfo(Server.mapPath("~/data/131023007039/权源相片"));

请注意网络文件分隔符是/而不是\ 有些情况下会报错的追问嘿嘿,刚开始弄这个,有点晕,已经解决了,受益匪浅,谢谢

全部回答
递归到一个list表里,求List的count值就好追问

怎样把这个改成具有提问里的功能
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
那种斜方形的水彩笔在哪里能买到啊
用3/5小时做了6个零件,他用1小时能做多
晚来新语湖中过,一片痴云锁二尖古诗的意思
『金色琴弦』共有多少集?每集的简介?
Unity3D中如何实现怪物可以追击主人公的AI?
王者荣耀里,猴子的一技能和狄仁杰的二技能能
三星S6比S5都好在哪里了,要详细。
《You Might Be》 - Autograf / Lils 这
榴莲皮有用吗
日版苹果5s为什么收不到短信息
女生开玩笑问你想怎么死,怎么回答
寄生兽哪里可以看
济南310路公交车路线到站时间表
想听听江南之恋
人输液后可以正常开车不
推荐资讯
正方形abcd边长是6厘米,e是ab中点,f是中点.连
黄连阿胶鸡子黄汤的介绍
牛吃破草帽肚里坏圏圈不少的意思
帮我看看这些句子出自什么小说或诗词? 1、终
16年初买的vivox6d 现在能卖多少钱啊
扁平吊装带哪家的好?
vbs读取指定的文本内容
一个带电小球,用细线悬挂在水平方向的匀强电
85%锦纶的七彩棉打底裤会起球吗
托福75分到80分有多难
机房精密配电柜厂家都有哪些?有一个叫精E还
求大神给个地址
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?