我想知道是否有可能在某个文件夹中获得所有文本文件的名称。
例如,我有一个名为Maps的文件夹,我想获取该文件夹中所有文本文件的名称,并将其添加到字符串列表中。
这可能吗?如果可能,我该如何实现?
这正是你想要的。
System.IO.Directory.GetFiles .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
这个系统。IO命名空间有大量的方法来帮助您进行文件操作。的
Directory.GetFiles()
方法返回一个字符串数组,这些字符串表示目标目录中的文件。
我会推荐你谷歌“读取文件夹中的对象”。您可能需要创建一个阅读器和一个列表,让阅读器读取文件夹中的所有对象名称,并在n个循环中将它们添加到列表中。
看看目录。GetFiles方法(String, String) (MSDN)。
该方法以文件名数组的形式返回所有文件。
using System.IO; 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; }
这取决于你想做什么。
裁判:http://www.csharp-examples.net/get-files-from-directory/
这将带回指定目录中的所有文件
string[] fileArray = Directory.GetFiles(@"c:\Dir\");
这将返回指定目录中具有特定扩展名的所有文件
string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg");
这将返回指定目录中的所有文件以及具有特定扩展名的所有子目录
string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg", SearchOption.AllDirectories);
希望这能有所帮助