使用C#从文件夹中获取所有文件名

时间:2013-02-14 14:39:17

标签: c# list text-files directory

我想知道是否可以在特定文件夹中获取所有文本文件的名称。

例如,我有一个名为Maps的文件夹,我想获取该文件夹中所有文本文件的名称,并将其添加到字符串列表中。

是否有可能,如果是的话,我怎么能实现这个目标?

7 个答案:

答案 0 :(得分:281)

DirectoryInfo d = new DirectoryInfo(@"D:\Test");//Assuming Test is your Folder
FileInfo[] Files = d.GetFiles("*.txt"); //Getting Text files
string str = "";
foreach(FileInfo file in Files )
{
  str = str + ", " + file.Name;
}

希望这会有所帮助......

答案 1 :(得分:119)

using System.IO; //add this namespace also 

string[] filePaths = Directory.GetFiles(@"c:\Maps\", "*.txt",
                                         SearchOption.TopDirectoryOnly);

答案 2 :(得分:61)

这取决于你想做什么。

参考:http://www.csharp-examples.net/get-files-from-directory/

这将带回指定目录中的所有文件

string[] fileArray = Directory.GetFiles(@"c:\Dir\");

这将带回特定扩展名

的指定目录中的所有文件
string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg");

这将带回指定目录中的所有文件AS WELL AS具有特定扩展名的所有子目录

string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg", SearchOption.AllDirectories);

希望这有帮助

答案 3 :(得分:10)

完全符合您的要求。

System.IO.Directory.GetFiles

答案 4 :(得分:9)

查看 Directory.GetFiles Method (String, String) (MSDN)。

此方法将所有文件作为文件名数组返回。

答案 5 :(得分:7)

http://msdn.microsoft.com/en-us/library/system.io.directory.getfiles.aspx

System.IO命名空间有许多方法可以帮助您进行文件操作。

Directory.GetFiles() 

方法返回一个字符串数组,表示目标目录中的文件。

答案 6 :(得分:-6)

我建议你google'在文件夹中读取对象'。您可能需要创建一个阅读器和一个列表,让读者读取文件夹中的所有对象名称,并将它们添加到n个循环中的列表中。