gpt4 book ai didi

c# - 遍历目录并搜索 .JPG 文件

转载 作者:行者123 更新时间:2023-11-30 20:11:19 25 4
gpt4 key购买 nike

我有这段代码,但遇到了 IOException,无法弄清楚问题出在哪里。我正在尝试遍历目录中的子目录并列出所有 .JPG 文件。

    protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["AllEmpsLoadPath"] = "\\\\intranet.org\\Photo Album\\Employees";

}
}
protected void Button1_Click(object sender, EventArgs e)
{

DirSearch((string)Session["AllEmpsLoadPath"]);

}

void DirSearch(string sDir)
{

foreach (string d in Directory.GetDirectories(sDir))
{

//I get an IOException here on the first iteration
//saying "There are no more files" and f is null
//even though there are subdirectories
foreach (string f in Directory.GetFiles(d, "*.JPG"))
{
BulletedList1.Items.Add(f);
}

DirSearch(d);
}

}

最佳答案

抱歉第二个答案,但我想我看到了一个逻辑错误...

我假设在每次迭代中您想要在当前文件夹 中搜索文件,并获取子目录,然后将它们传递回函数(顺便说一句,很好地使用了递归)重复直到没有子目录。

按照您的编码方式,函数会在当前目录的子目录 中查找文件,然后递归调用子文件夹的函数。这意味着在最低级别上,将没有子文件夹,并且您会在那里遇到错误。不过,它并没有解释为什么错误发生在第一个文件夹上。

尝试改变这个

void DirSearch(string sDir)  
{

foreach (string d in Directory.GetDirectories(sDir))
{

//I get an IOException here on the first iteration
//saying "There are no more files" and f is null
//even though there are subdirectories
foreach (string f in Directory.GetFiles(d, "*.JPG"))
{
BulletedList1.Items.Add(f);
}

DirSearch(d);
}
}

对此

void DirSearch(string sDir)  
{
foreach (string f in Directory.GetFiles(sDir, "*.JPG"))
{
BulletedList1.Items.Add(f);
}



foreach (string d in Directory.GetDirectories(sDir))
{

//I get an IOException here on the first iteration
//saying "There are no more files" and f is null
//even though there are subdirectories
DirSearch(d);
}

}

关于c# - 遍历目录并搜索 .JPG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com