Ermitteln aller Dateinamen in einem Verzeichnis in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Abrufen aller Dateinamen in einem Verzeichnis mit der Methode Directory.GetFiles() in C#
  2. Abrufen aller Dateinamen in einem Verzeichnis mit der Methode DirectoryInfo.GetFiles() in C#
Ermitteln aller Dateinamen in einem Verzeichnis in C#

In diesem Lernprogramm werden die Methoden zum Abrufen der Dateinamen aller Dateien in einem bestimmten Verzeichnis in C# erläutert.

Abrufen aller Dateinamen in einem Verzeichnis mit der Methode Directory.GetFiles() in C#

Die Methode Directory.GetFiles() in C# ruft die Namen aller Dateien in einem bestimmten Verzeichnis ab. Die Methode Directory.GetFiles() gibt ein Array von Zeichenketten zurück, das die absoluten Pfade aller Dateien in dem in den Methodenparametern angegebenen Verzeichnis enthält. Siehe folgendes Beispiel.

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);
      }
    }
  }
}

Ausgabe:

C:\File\file.txt
C:\File\file1.txt

Im obigen Code haben wir die Namen aller Dateien mit der Erweiterung .txt im Verzeichnis C:\File mit der Methode Directory.GetFiles() in C# extrahiert.

Die Methode Directory.GetFiles() kann für verschiedene Zwecke verwendet werden. Das folgende Codebeispiel gibt uns beispielsweise alle Dateinamen unabhängig von ihrer Dateierweiterung in 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);
      }
    }
  }
}

Ausgabe:

C:\File\file.txt
C:\File\file1.txt
C:\File\readme.md

Mit der Methode Directory.GetFiles() können wir auch die Dateinamen aller Dateien abrufen, die in beliebigen Unterverzeichnissen enthalten sind. Siehe folgendes Beispiel.

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);
      }
    }
  }
}

Ausgabe:

C:\File\file.txt
C:\File\file1.txt
C:\File\subFile\file3.txt
C:\File\subFile\file4.txt

Im obigen Code haben wir die Dateinamen aller Dateien mit der Erweiterung .txt in allen Unterverzeichnissen des Verzeichnisses C:\File mit der Methode Directory.GetFiles() in C# extrahiert.

Abrufen aller Dateinamen in einem Verzeichnis mit der Methode DirectoryInfo.GetFiles() in C#

Die Methode DirectoryInfo.GetFiles() ruft die Dateien in einem angegebenen Verzeichnis in C# ab. Die Methode DirectoryInfo.GetFiles() gibt ein Array der Klassenobjekte FileInfo zurück, die Informationen zu allen Dateien in dem in den Methodenparametern angegebenen Verzeichnis enthalten. Wir können die Namen der Dateien mit der Eigenschaft FileInfo.Name abrufen. Das folgende Codebeispiel zeigt uns, wie wir die Dateinamen der Dateien in einem angegebenen Verzeichnis mit der Methode DirectoryInfo.GetFiles() in C# abrufen können.

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);
      }
    }
  }
}

Ausgabe:

file.txt
file1.txt

Im obigen Code haben wir die Dateinamen aller Dateien mit der Erweiterung .txt im Verzeichnis C:\File mit der Methode DirectoryInfo.GetFiles() in C# extrahiert. Wir können auch den Parameter SearchOption.AllDirectories in der Methode DirectoryInfo.GetFiles() verwenden, um die Namen aller Dateien in allen Unterverzeichnissen abzurufen. In der Zwischenzeit können wir auch alle Dateinamen unabhängig von ihren Dateierweiterungen abrufen, indem wir in der Methode DirectoryInfo.GetFiles() keine Dateierweiterungen angeben. Der einzige Unterschied zwischen dem vorherigen Ansatz und diesem Ansatz besteht darin, dass die Methode Directory.GetFiles() die vollständigen absoluten Pfade der Dateien angibt. Im Gegensatz dazu gibt uns die Methode DirectoryInfo.GetFiles() nur alle Dateinamen.

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

Verwandter Artikel - Csharp File