我如何将目录中的文件名读取到数组

时间:2009-09-01 10:06:57

标签: c#

(我正在使用C#windows应用程序) 我想将目录的所有FileNames读取到一个数组..我该怎么读..

(假设考虑名为ROOT,ROOT2

的目录

让ROOT1有a.txt,b.txt,c.txt

让ROOT2有x.txt,y.txt,z.txt

我只是想把这些东西读到我的阵列......

阅读那个......的方式是什么? (或)你可以寄给我代码......?

4 个答案:

答案 0 :(得分:5)

如果您想要子文件夹

string[] oFiles = Directory.GetFiles(sPath, "*", SearchOption.AllDirectories);

否则你想要

string[] oFiles = Directory.GetFiles(sPath);

或者如果你想过滤你想要的

string[] oFiles = Directory.GetFiles(sPath, "*");

要按.txt扩展名进行过滤,将*替换为* .txt作为第二个参数。

答案 1 :(得分:2)

这是一些用于读取目录中文件的代码:

DirectoryInfo di = new DirectoryInfo("c:/root1");
FileInfo[] rgFiles = di.GetFiles("*.*");
foreach(FileInfo fi in rgFiles)
{
   Response.Write("<br><a href=" + fi.Name + ">" + fi.Name + "</a>");       
}

FileInfo是一个包含所有文件的字符串数组。

答案 2 :(得分:2)

string[] fileNames = Directory.GetFiles(directoryPath, "*", SearchOptions.AllDirectories)

答案 3 :(得分:1)

您可以调用Directory.GetFiles(directoryPath)。如果你想深入了解路径的结构(获取子文件夹中的文件等),那么使用SearchOptions.AllDirectories或try looking here

来限定调用。