Ottieni tutti i nomi di file in una directory in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Ottieni tutti i nomi di file in una directory con il metodo Directory.GetFiles() in C#
  2. Ottieni tutti i nomi di file in una directory con il metodo DirectoryInfo.GetFiles() in C#
Ottieni tutti i nomi di file in una directory in C#

Questo tutorial discuterà i metodi per ottenere i nomi di file di tutti i file all’interno di una directory specifica in C#.

Ottieni tutti i nomi di file in una directory con il metodo Directory.GetFiles() in C#

Il metodo Directory.GetFiles() in C# ottiene i nomi di tutti i file all’interno di una directory specifica. Il metodo Directory.GetFiles() restituisce un array di stringhe che contiene i percorsi assoluti di tutti i file all’interno della directory specificata nei parametri del metodo. Vedi il seguente esempio.

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

Produzione:

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

Nel codice sopra, abbiamo estratto i nomi di tutti i file con estensione .txt all’interno della directory C:\File con il metodo Directory.GetFiles() in C#.

Il metodo Directory.GetFiles() può essere utilizzato per vari scopi. Ad esempio, il seguente esempio di codice ci fornisce tutti i nomi dei file indipendentemente dalla loro estensione 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);
      }
    }
  }
}

Produzione:

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

Possiamo anche ottenere i nomi dei file di tutti i file inclusi in qualsiasi sottodirectory con il metodo Directory.GetFiles(). Vedi il seguente esempio.

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

Produzione:

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

Nel codice sopra, abbiamo estratto i nomi di file di tutti i file con l’estensione .txt in tutte le sottodirectory della directory C:\File con il metodo Directory.GetFiles() in C#.

Ottieni tutti i nomi di file in una directory con il metodo DirectoryInfo.GetFiles() in C#

Il metodo DirectoryInfo.GetFiles() ottiene i file all’interno di una directory specificata in C#. Il metodo DirectoryInfo.GetFiles() restituisce un array di oggetti della classe FileInfo che contengono informazioni su tutti i file nella directory specificata nei parametri del metodo. Possiamo ottenere i nomi dei file con la proprietà FileInfo.Name. Il seguente esempio di codice ci mostra come possiamo ottenere i nomi dei file dei file all’interno di una directory specificata con il metodo DirectoryInfo.GetFiles() in C#.

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

Produzione:

file.txt file1.txt

Nel codice sopra, abbiamo estratto i nomi di file di tutti i file con estensione .txt all’interno della directory C:\File con il metodo DirectoryInfo.GetFiles() in C#. Possiamo anche usare il parametro SearchOption.AllDirectories all’interno del metodo DirectoryInfo.GetFiles() per ottenere i nomi di tutti i file in tutte le sottodirectory. Nel frattempo, possiamo anche ottenere i nomi di tutti i file indipendentemente dalle loro estensioni di file non specificando alcuna estensione di file nel metodo DirectoryInfo.GetFiles(). L’unica differenza tra l’approccio precedente e questo approccio è che il metodo Directory.GetFiles() ci fornisce i percorsi assoluti completi dei file. Al contrario, il metodo DirectoryInfo.GetFiles() ci fornisce solo i nomi di tutti i file.

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

Articolo correlato - Csharp File