在 C# 中獲取目錄中的所有檔名
本教程將討論獲取 C# 中特定目錄內所有檔案的檔名的方法。
使用 C# 中的 Directory.GetFiles()
方法獲取目錄中的所有檔名
C# 中的 Directory.GetFiles()
方法獲取特定目錄中所有檔案的名稱。Directory.GetFiles()
方法返回一個字串陣列,其中包含方法引數中指定的目錄內所有檔案的絕對路徑。請參見以下示例。
using System;
using System.IO;
namespace get_all_files {
class Program {
static void Main(string[] args) {
string[] files = Directory.GetFiles(@"C:\File", "*.txt");
foreach (var file in files) {
Console.WriteLine(file);
}
}
}
}
輸出:
C:\File\file.txt
C:\File\file1.txt
在上面的程式碼中,我們使用 C# 中的 Directory.GetFiles()
方法提取了目錄 C:\File
中帶有 .txt
副檔名的所有檔案的名稱。
Directory.GetFiles()
方法可用於多種目的。例如,以下程式碼示例為我們提供了所有檔案的名稱,無論它們在 C# 中的副檔名如何。
using System;
using System.IO;
namespace get_all_files {
class Program {
static void Main(string[] args) {
string[] files = Directory.GetFiles(@"C:\File");
foreach (var file in files) {
Console.WriteLine(file);
}
}
}
}
輸出:
C:\File\file.txt
C:\File\file1.txt
C:\File\readme.md
我們還可以使用 Directory.GetFiles()
方法獲取任何子目錄中包含的所有檔案的檔名。請參見以下示例。
using System;
using System.IO;
namespace get_all_files {
class Program {
static void Main(string[] args) {
string[] files = Directory.GetFiles(@"C:\File", "*.txt", SearchOption.AllDirectories);
foreach (var file in files) {
Console.WriteLine(file);
}
}
}
}
輸出:
C:\File\file.txt
C:\File\file1.txt
C:\File\subFile\file3.txt
C:\File\subFile\file4.txt
在上面的程式碼中,我們在 C# 中使用 Directory.GetFiles()
方法提取了 C:\File
目錄的所有子目錄中所有帶有 .txt
副檔名的檔案的檔名。
在 C# 中使用 DirectoryInfo.GetFiles()
方法獲取目錄中的所有檔名
DirectoryInfo.GetFiles()
方法獲取 C# 中指定目錄內的檔案。DirectoryInfo.GetFiles()
方法返回 FileInfo
類物件的陣列,其中包含有關方法引數內指定的目錄中所有檔案的資訊。我們可以使用 FileInfo.Name
屬性獲得檔案的名稱。以下程式碼示例向我們展示瞭如何使用 C# 中的 DirectoryInfo.GetFiles()
方法獲取指定目錄內檔案的檔名。
using System;
using System.IO;
namespace get_all_files {
class Program {
static void Main(string[] args) {
DirectoryInfo di = new DirectoryInfo(@"C:\File");
FileInfo[] files = di.GetFiles("*.txt");
string str = "";
foreach (FileInfo file in files) {
Console.WriteLine(file.Name);
}
}
}
}
輸出:
file.txt
file1.txt
在上面的程式碼中,我們使用 C# 中的 DirectoryInfo.GetFiles()
方法提取了 C:\File
目錄中所有帶有 .txt
副檔名的檔案的檔名。我們還可以使用 DirectoryInfo.GetFiles()
方法中的 SearchOption.AllDirectories
引數來獲取所有子目錄中所有檔案的名稱。同時,我們也可以通過在 DirectoryInfo.GetFiles()
方法中不指定任何副檔名來獲得所有檔名,而不管副檔名如何。以前的方法與該方法之間的唯一區別是,Directory.GetFiles()
方法為我們提供了檔案的完整絕對路徑。相反,DirectoryInfo.GetFiles()
方法僅為我們提供所有檔案的名稱。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn