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

Muhammad Maisam Abbas 2024年2月16日
  1. 使用 C# 中的 Directory.GetFiles() 方法獲取目錄中的所有檔名
  2. 在 C# 中使用 DirectoryInfo.GetFiles() 方法獲取目錄中的所有檔名
在 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() 方法僅為我們提供所有檔案的名稱。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相關文章 - Csharp File