Obter Todos os Nomes de Ficheiros num Directório em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Obtenha todos os nomes de arquivo em um diretório com o método Directory.GetFiles() em C#
  2. Obtenha todos os nomes de arquivo em um diretório com o método DirectoryInfo.GetFiles() em C#
Obter Todos os Nomes de Ficheiros num Directório em C#

Este tutorial discutirá os métodos de obtenção dos nomes de arquivo de todos os arquivos dentro de um diretório específico em C#.

Obtenha todos os nomes de arquivo em um diretório com o método Directory.GetFiles() em C#

O método Directory.GetFiles() em C# obtém os nomes de todos os arquivos dentro de um diretório específico. O método Directory.GetFiles() retorna um array de strings que contém os caminhos absolutos de todos os arquivos dentro do diretório especificado nos parâmetros do método. Veja o seguinte exemplo.

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

Resultado:

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

No código acima, extraímos os nomes de todos os arquivos com extensão .txt dentro do diretório C:\File com o método Directory.GetFiles() em C#.

O método Directory.GetFiles() pode ser usado para vários fins. Por exemplo, o exemplo de código a seguir fornece os nomes de todos os arquivos, independentemente de sua extensão em 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);
      }
    }
  }
}

Resultado:

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

Também podemos obter os nomes de todos os arquivos incluídos em qualquer subdiretório com o método Directory.GetFiles(). Veja o seguinte exemplo.

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

Resultado:

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

No código acima, extraímos os nomes de todos os arquivos com a extensão .txt em todos os subdiretórios do diretório C:\File com o método Directory.GetFiles() em C#.

Obtenha todos os nomes de arquivo em um diretório com o método DirectoryInfo.GetFiles() em C#

O DirectoryInfo.GetFiles() método obtém os arquivos dentro de um diretório especificado em C#. O método DirectoryInfo.GetFiles() retorna um array dos objetos da classe FileInfo que contêm informações sobre todos os arquivos no diretório especificado nos parâmetros do método. Podemos obter os nomes dos arquivos com a propriedade FileInfo.Name. O exemplo de código a seguir nos mostra como podemos obter os nomes dos arquivos dentro de um diretório especificado com o método DirectoryInfo.GetFiles() em 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);
      }
    }
  }
}

Resultado:

file.txt file1.txt

No código acima, extraímos os nomes de todos os arquivos com extensão .txt dentro do diretório C:\File com o método DirectoryInfo.GetFiles() em C#. Também podemos usar o parâmetro SearchOption.AllDirectories dentro do método DirectoryInfo.GetFiles() para obter os nomes de todos os arquivos em todos os subdiretórios. Enquanto isso, também podemos obter os nomes de todos os arquivos, independentemente de suas extensões, não especificando nenhuma extensão de arquivo no método DirectoryInfo.GetFiles(). A única diferença entre a abordagem anterior e esta é que o método Directory.GetFiles() nos dá os caminhos absolutos completos dos arquivos. Em contraste, o método DirectoryInfo.GetFiles() nos dá apenas os nomes de todos os arquivos.

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

Artigo relacionado - Csharp File