📅  最后修改于: 2023-12-03 14:59:43.097000             🧑  作者: Mango
在C# 编程中,获取指定目录中的文件列表是一项非常常见的操作,本篇文章将向程序员展示如何使用C#编写一个简单的Console程序,来从指定的目录中获取文件列表。
C# 的System.IO命名空间下提供了大量的操作文件和目录的类和方法。其中,获取指定目录中的文件列表最常使用的类是Directory
,该类提供了GetFiles
方法可以获取指定目录下的一组文件。
string[] files = Directory.GetFiles("指定目录");
上述代码将获取指定目录下的所有文件列表并返回一个字符串数组。
需要注意的是,GetFiles
方法还支持传入一个searchPattern
参数,该参数用于筛选指定扩展名的文件。
例如,以下代码将只获取以.txt
结尾的文件列表:
string[] txtFiles = Directory.GetFiles("指定目录", "*.txt");
除了使用Directory
类获取文件列表,我们还可以使用LINQ语句来完成同样的任务。以下是一段使用LINQ语句获取指定目录下所有文件的代码:
var files = from file in new DirectoryInfo("指定目录").GetFiles()
select file.FullName;
上述代码使用DirectoryInfo
类获取指定目录中的所有文件,并使用LINQ语句将文件名转换为全路径后返回。
需要注意的是,上述代码只能获取指定目录中的所有文件,不包括子目录中的文件。如果需要获取子目录中的文件,可以使用以下代码:
var files = from file in new DirectoryInfo("指定目录").GetFiles("*", SearchOption.AllDirectories)
select file.FullName;
上述代码中使用GetFiles
方法的重载版本,并传入SearchOption.AllDirectories
参数以递归地搜索子目录中的文件。
以下是一个完整的使用Directory
类获取指定目录中所有文本文件的Console程序:
using System;
using System.IO;
namespace GetFileListDemo
{
class Program
{
static void Main(string[] args)
{
try
{
string[] txtFiles = Directory.GetFiles("指定目录", "*.txt");
Console.WriteLine("所有文本文件:");
foreach (string file in txtFiles)
{
Console.WriteLine(file);
}
}
catch (Exception ex)
{
Console.WriteLine("获取文件列表时出错:" + ex.Message);
}
Console.ReadKey();
}
}
}
获取指定目录下的文件列表是C#编程中常见的任务之一,本文介绍了使用Directory
类和LINQ语句两种方式来实现该任务。根据实际情况选择合适的方式并注意异常处理,可以更为方便地完成文件操作。