在 C# 中獲取目錄中的所有檔名

  1. 使用 C# 中的 Directory.GetFiles() 方法獲取目錄中的所有檔名
  2. 在 C# 中使用 DirectoryInfo.GetFiles() 方法獲取目錄中的所有檔名

本教程將討論獲取 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() 方法僅為我們提供所有檔案的名稱。

相關文章 - C# File

  • C# 中從路徑獲取檔名
  • 如何在 C# 中從一個 URL 下載檔案
  • 如何在 C# 中重新命名檔案
  • C# 逐行讀取文字檔案