用于列出目录中文件的 C# 程序
给定文件,现在我们的任务是使用 C# 列出目录中的所有这些文件。因此,为了完成这项任务,我们使用以下函数和类:
DirectoryInfo:它是一个类,它提供了不同类型的方法来移动、创建和枚举目录及其子目录。你不能继承它。
语法:
DirectoryInfo object = new DirectoryInfo(path);
其中 path 是文件目标,例如 - @”C:\MyFolder\file_name”。
GetFiles:此方法用于获取当前目录中存在的文件列表。文件名在此方法中以未排序的方式返回。如果您想要对文件名进行排序,请使用 Sort 方法。
语法:
DirectoryInfo_object.GetFiles()
此方法返回一个 FileInfo 类型的数组。并在指定路径未找到或无效时抛出DirectoryNotFoundException 。该方法可以通过以下方式重载:
- GetFiles(String):此方法用于获取文件的名称,包括它们在给定目录中的路径。
- GetFiles(String, String, EnumerationOptions):此方法用于获取与给定目录中给定搜索模式和枚举选项匹配的文件名及其路径。
- GetFiles(String, String, SearchOption):此方法用于获取文件名及其与给定目录中给定搜索模式匹配的路径。还使用一个值来检查是否搜索子目录。
方法
1.使用 DirectoryInfo 类创建和读取目录
DirectoryInfo place = new DirectoryInfo(@"C:\Train");
2.使用 GetFiles() 方法创建一个数组以获取所有文件列表
FileInfo[] Files = place.GetFiles();
3.通过foreach循环显示带有Name属性的文件名
foreach(FileInfo i in Files)
{
Console.WriteLine("File Name - {0}",
i.Name);
}
例子:
在这个例子中,我们将 C 盘的一个文件夹(目录)命名为 Train - 它包括所有 csv 文件。现在我们将显示此目录中存在的文件列表。
C#
// C# program to listing the files in a directory
using System;
using System.IO;
class GFG{
static void Main(string[] args)
{
// Get the directory
DirectoryInfo place = new DirectoryInfo(@"C:\Train");
// Using GetFiles() method to get list of all
// the files present in the Train directory
FileInfo[] Files = place.GetFiles();
Console.WriteLine("Files are:");
Console.WriteLine();
// Display the file names
foreach(FileInfo i in Files)
{
Console.WriteLine("File Name - {0}", i.Name);
}
}
}
输出:
Files are:
File Name - crop_yielding.csv
File Name - cropdamage.csv
File Name - crops_data.csv
File Name - doses.csv
File Name - pesticides.csv
File Name - soiltype.csv