是否有一种算法可以列出文件夹中的所有文件(对于 C#)?
Is there an algorithms that can list all file in the folder (for C#)?
你好 Whosebug 社区,
我正在开发一个 C# Web 应用程序,它可以在一个文件夹中显示所有必需的文件。例如,您有一个名为“地图”的文件夹,其中存储了有关纽约市的所有信息。我将在这里描述这个文件夹:粗体字是文件夹。
文件夹映射:
->纽约市
->>satellite.png
->>coordinates.txt
->>bridges.png
->>路1
->>>satellite1.png
->>>roads.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;
}
希望您理解我的问题。谢谢。
您可以从 reading the documentation 开始,在那里您会找到 System.IO.DirectoryInfo
。
创建一个 DirectoryInfo
实例,并根据您 want/need 使用其任何方法
EnumerateDirectories()
EnumerateFiles()
EnumerateFileSystemInfos()
像这样:
DirectoryInfo di = new DirectoryInfo(@"c:\Maps");
foreach (var fsi in di.EnumerateFileSystemInfos("*", SearchOptions.AllDirectories)
{
// Do something useful with fsi here
}
你好 Whosebug 社区,
我正在开发一个 C# Web 应用程序,它可以在一个文件夹中显示所有必需的文件。例如,您有一个名为“地图”的文件夹,其中存储了有关纽约市的所有信息。我将在这里描述这个文件夹:粗体字是文件夹。
文件夹映射:
->纽约市
->>satellite.png
->>coordinates.txt
->>bridges.png
->>路1
->>>satellite1.png
->>>roads.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;
}
希望您理解我的问题。谢谢。
您可以从 reading the documentation 开始,在那里您会找到 System.IO.DirectoryInfo
。
创建一个 DirectoryInfo
实例,并根据您 want/need 使用其任何方法
EnumerateDirectories()
EnumerateFiles()
EnumerateFileSystemInfos()
像这样:
DirectoryInfo di = new DirectoryInfo(@"c:\Maps");
foreach (var fsi in di.EnumerateFileSystemInfos("*", SearchOptions.AllDirectories)
{
// Do something useful with fsi here
}