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

问题描述:

我想知道是否可以获取某个文件夹中文本文件的所有名称。使用C#获取文件夹中的所有文件名

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

是否有可能,如果是的话,我该如何实现这一目标?

+8

,你是一个初学者是不相关的事实,事实上,你没有尝试过什么是非常糟糕的。一个简单的搜索你最喜欢的搜索引擎“C#文件夹获取所有文件”会给你成千上万的链接。 “给一个人一条鱼,你喂他一天。教他如何钓鱼,你一辈子喂他。 - 老子 - 古汉语谚语' – Steve 2013-02-14 14:47:44

+32

这真让我困扰。你不是给他一条鱼,或者教他如何钓鱼,你只是在教他。如果你真的想教他如何钓鱼,你可以拥有。 – 2014-10-19 21:34:40

+0

4年后,你是个亲子吗?或者挨饿希望得到另一份鱼的讲义?我的钓鱼杆是[Directory:*.com](https:// site:*.com) – 2018-02-17 17:50:52

完全是你想要的。

System.Io.Directory.GetFiles

using System.IO; //add this namespace also 

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

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

System.IO命名空间有方法负荷,以帮助您与文件操作。

Directory.GetFiles() 

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

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

+6

使用目录类中的内置GetFiles方法效率更高。 – 2013-02-14 14:44:51

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

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

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; 
} 

希望这将有助于...

+21

使用System.IO; – Jeff 2014-09-11 13:20:25

+7

FileInfo有很多开销,它会好得多使用Path.GetFileName(filePath) – 2014-12-04 22:59:45

这取决于你想要做什么。

裁判:http://www.csharp-examples.net/get-files-from-directory/

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

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

这将带回指定目录下的所有文件具有一定的扩展

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

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

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

希望这有助于