Obter Todos os Nomes de Ficheiros num Directório em C#
-
Obtenha todos os nomes de arquivo em um diretório com o método
Directory.GetFiles()
emC#
-
Obtenha todos os nomes de arquivo em um diretório com o método
DirectoryInfo.GetFiles()
emC#
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.
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