Directory.GetFiles 方法是C#中用于获取文件名字符串数组的静态方法。通过该方法可以获取指定目录下(包括子目录)所有符合条件的文件名,可以过滤掉不需要的文件,方便用户针对这些文件进行相应的操作。
方法的参数说明
Directory.GetFiles 方法的完整格式如下:
public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption);
该方法包含三个参数,分别是:
- path:表示要搜索的目录路径;
- searchPattern:表示要搜索的文件的匹配模式,可以使用通配符 * 代表任意字符,也可以使用 ? 代表单个字符;
- searchOption:表示搜索选项,包括只搜索当前目录(SearchOption.TopDirectoryOnly)或包括子目录(SearchOption.AllDirectories)。
方法的使用攻略
下面将详细讲解 Directory.GetFiles 方法的使用攻略:
1. 简单使用获取指定目录下的所有文件名
如果你想获取一个指定目录下的所有文件名,可以使用 Directory.GetFiles 方法的第一个参数指定目录路径,第二个参数使用通配符 * 来匹配所有文件,第三个参数使用 SearchOption.TopDirectoryOnly 来只搜索当前目录。示例代码如下:
using System;
using System.IO;
class Program {
static void Main(string[] args) {
var files = Directory.GetFiles(@"C:\Users\Administrator\Desktop", "*.*", SearchOption.TopDirectoryOnly);
foreach (var file in files) {
Console.WriteLine(file);
}
}
}
这段代码将会输出指定目录下所有的文件名。
2. 过滤掉不符合条件的文件名
如果你希望获取指定目录下符合一定条件的所有文件名,可以使用 Directory.GetFiles 方法的第二个参数来指定匹配模式。例如,如果你只想获取以 “.txt” 结尾的文件名,可以将第二个参数设为 “*.txt”,示例代码如下:
using System;
using System.IO;
class Program {
static void Main(string[] args) {
var files = Directory.GetFiles(@"C:\Users\Administrator\Desktop", "*.txt", SearchOption.TopDirectoryOnly);
foreach (var file in files) {
Console.WriteLine(file);
}
}
}
这样,该段代码只会输出指定目录下以 .txt 结尾的文件名。
总结
通过上述示例代码,可以看到,使用 Directory.GetFiles 方法来获取文件名数组非常简单。同时,该方法还提供了各种参数来实现更为精细的搜索策略,可以满足不同用户的需求。