你好 StackOverflow 社区,
我正在为一个 C# web 应用程序工作,它可以在一个文件夹中显示所有必需的文件。例如,您有一个名为“Maps”的文件夹,用于存储有关纽约市的所有信息。我将在这里描述这个文件夹:粗体字是文件夹。
文件夹映射:
->纽约市
->>卫星.png
->>坐标.txt
->>桥梁.png
->> Road1
->>>satellite1.png
->>>道路.txt
->>>houses.png
如您所见,在 Maps 文件夹中,我们有 NewYorkCity 文件夹,在其中,我们有 Road1 文件夹。现在我想收集所有具有“*.png”类型的文件。这意味着我想收集根文件夹中的所有图像。这里的问题是收集文件的算法。我曾想过使用“for 循环”,但我不知道子文件夹的数量,所以我认为这是不可能的。
这是列出我使用过的具有指定类型的文件的代码,但它适用于一个文件夹中没有任何子文件夹的文件。
DirectoryInfo dInfo = new DirectoryInfo(zipPath); //Assuming Test is your Folder
FileInfo[] Files = dInfo.GetFiles("*.png"); //Getting Text files
string str = "";
foreach (FileInfo file in Files)
{
str = str + ", " + file.Name;
}
我希望你明白我的问题。谢谢你。
您可以从阅读文档开始,您可以在其中找到System.IO.DirectoryInfo
。
创建一个DirectoryInfo
实例,并根据您的需要/需要使用它的任何方法
EnumerateDirectories()
EnumerateFiles()
EnumerateFileSystemInfos()
像这样:
DirectoryInfo di = new DirectoryInfo(@"c:\Maps");
foreach (var fsi in di.EnumerateFileSystemInfos("*", SearchOptions.AllDirectories)
{
// Do something useful with fsi here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句