C# DirectoryInfo.GetFiles – 获取目录下的所有文件信息

  • Post category:C#

DirectoryInfo.GetFiles() 方法用于返回指定目录中所有文件的 FileInfo 对象数组。该方法有多个重载,可以传入不同的参数来实现不同的搜索方式。

具体语法如下:

public FileInfo[] GetFiles(string searchPattern);
public FileInfo[] GetFiles(string searchPattern, SearchOption searchOption);

其中,searchPattern 参数用于设置搜索模式,常用的模式匹配符有:

  • * 表示任意多个字符;
  • ? 表示单个字符。

例如,传入 *.txt 会返回指定目录中所有扩展名为 .txt 的文件。

searchOption 参数用于设置搜索方式,可选参数如下:

  • SearchOption.TopDirectoryOnly:只在指定目录中搜索;
  • SearchOption.AllDirectories:在指定目录及其所有子目录中搜索。

以下是具体的使用方法和示例:

示例1:

查找指定目录中所有扩展名为 .txt 的文件:

using System.IO;

var directoryPath = @"C:\My Documents";
var directory = new DirectoryInfo(directoryPath);
var txtFiles = directory.GetFiles("*.txt");

foreach (var file in txtFiles)
{
    Console.WriteLine(file.FullName);
}

示例2:

查找指定目录及其子目录中所有扩展名为 .csv 的文件:

using System.IO;

var directoryPath = @"C:\My Documents";
var directory = new DirectoryInfo(directoryPath);
var csvFiles = directory.GetFiles("*.csv", SearchOption.AllDirectories);

foreach (var file in csvFiles)
{
    Console.WriteLine(file.FullName);
}

以上就是关于 DirectoryInfo.GetFiles() 方法的作用和使用方法的完整攻略,希望能对你有所帮助。