DirectoryInfo.GetFiles Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma lista de arquivos do diretório atual.
Sobrecargas
| Nome | Description |
|---|---|
| GetFiles(String, EnumerationOptions) |
Retorna uma lista de arquivos do diretório atual que corresponde às opções de enumeração e padrão de pesquisa especificadas. |
| GetFiles(String, SearchOption) |
Retorna uma lista de arquivos do diretório atual que corresponde ao padrão de pesquisa fornecido e usa um valor para determinar se os subdiretórios devem ser pesquisados. |
| GetFiles() |
Retorna uma lista de arquivos do diretório atual. |
| GetFiles(String) |
Retorna uma lista de arquivos do diretório atual que corresponde ao padrão de pesquisa fornecido. |
GetFiles(String, EnumerationOptions)
Retorna uma lista de arquivos do diretório atual que corresponde às opções de enumeração e padrão de pesquisa especificadas.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.IO.FileInfo[] GetFiles(string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.GetFiles : string * System.IO.EnumerationOptions -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As FileInfo()
Parâmetros
- searchPattern
- String
A cadeia de caracteres de pesquisa a ser correspondida com os nomes dos arquivos. Esse parâmetro pode conter uma combinação de caracteres de caminho literal válido e curinga (* e ?), mas não dá suporte a expressões regulares.
- enumerationOptions
- EnumerationOptions
Um objeto que descreve a configuração de pesquisa e enumeração a ser usada.
Retornos
Uma matriz de objetos fortemente tipado FileInfo que correspondem searchPattern e enumerationOptions.
Exceções
Versões do .NET Framework e do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método.
searchPattern é null.
O caminho é inválido (por exemplo, ele está em uma unidade não mapeada).
O chamador não tem a permissão necessária.
Comentários
searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.
| Especificador curinga | Partidas |
|---|---|
| * (asterisco) | Zero ou mais caracteres nessa posição. |
| ? (ponto de interrogação) | Zero ou um caractere nessa posição. |
Caracteres diferentes do curinga são caracteres literais. Por exemplo, a cadeia de caracteres "*t" pesquisa todos os nomes ao terminar com a letra "t". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes no path início com a letra "s".
Os métodos EnumerateFiles e GetFiles diferem da seguinte maneira:
Ao usar EnumerateFiles, você pode começar a enumerar a coleção de objetos antes que FileInfo toda a coleção seja retornada.
Ao usar GetFiles, você deve aguardar que toda a matriz de objetos seja retornada antes de FileInfo poder acessar a matriz.
Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFiles pode ser mais eficiente.
Se não houver arquivos no DirectoryInfométodo, esse método retornará uma matriz vazia.
Os especificadores curinga a seguir são permitidos no searchPattern parâmetro.
| Caractere curinga | Descrição |
|---|---|
| * | Zero ou mais caracteres. |
| ? | Exatamente zero ou um caractere. |
A ordem dos nomes de arquivo retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.
Caracteres curinga são permitidos. Por exemplo, a searchPattern cadeia de caracteres "*.txt" pesquisa todos os nomes de arquivo com uma extensão de "txt". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes de arquivo começando com a letra "s". Se não houver arquivos ou nenhum arquivo que corresponda à searchPattern cadeia de caracteres, DirectoryInfoesse método retornará uma matriz vazia.
Note
Ao usar o caractere curinga do asterisco em um searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia dependendo do comprimento da extensão de arquivo especificada. Um searchPattern com uma extensão de arquivo de exatamente três caracteres retorna arquivos com uma extensão de três ou mais caracteres, em que os três primeiros caracteres correspondem à extensão de arquivo especificada no searchPattern. Um searchPattern com uma extensão de arquivo de um, dois ou mais de três caracteres retorna apenas arquivos com extensões exatamente desse comprimento que correspondem à extensão de arquivo especificada no searchPattern. Ao usar o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos em um diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna os dois arquivos.
Note
Como esse método verifica nomes de arquivo com o formato de nome de arquivo 8.3 e o formato de nome de arquivo longo, um padrão de pesquisa semelhante a "*1*.txt" pode retornar nomes de arquivo inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" retornará "longfilename.txt" porque o formato de nome de arquivo equivalente 8.3 seria "longf~1.txt".
Esse método preenche previamente os valores das seguintes FileInfo propriedades:
Aplica-se a
GetFiles(String, SearchOption)
Retorna uma lista de arquivos do diretório atual que corresponde ao padrão de pesquisa fornecido e usa um valor para determinar se os subdiretórios devem ser pesquisados.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.IO.FileInfo[] GetFiles(string searchPattern, System.IO.SearchOption searchOption);
member this.GetFiles : string * System.IO.SearchOption -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String, searchOption As SearchOption) As FileInfo()
Parâmetros
- searchPattern
- String
A cadeia de caracteres de pesquisa a ser correspondida com os nomes dos arquivos. Esse parâmetro pode conter uma combinação de caracteres de caminho literal válido e curinga (* e ?), mas não dá suporte a expressões regulares.
- searchOption
- SearchOption
Um dos valores de enumeração que especifica se a operação de pesquisa deve incluir apenas o diretório atual ou todos os subdiretórios.
Retornos
Uma matriz do tipo FileInfo.
Exceções
Versões do .NET Framework e do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método.
searchPattern é null.
searchOption não é um valor válido SearchOption .
O caminho é inválido (por exemplo, ele está em uma unidade não mapeada).
O chamador não tem a permissão necessária.
Exemplos
O exemplo a seguir mostra como obter uma lista de arquivos de um diretório usando diferentes opções de pesquisa. O exemplo pressupõe um diretório que tenha arquivos chamados log1.txt, log2.txt, test1.txt, test2.txt, test3.txte um subdiretório que tenha um arquivo chamado SubFile.txt.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Comentários
Os métodos EnumerateFiles e GetFiles diferem da seguinte maneira:
Ao usar EnumerateFiles, você pode começar a enumerar a coleção de objetos antes que FileInfo toda a coleção seja retornada.
Ao usar GetFiles, você deve aguardar que toda a matriz de objetos seja retornada antes de FileInfo poder acessar a matriz.
Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFiles pode ser mais eficiente.
Se não houver arquivos no DirectoryInfométodo, esse método retornará uma matriz vazia.
Os especificadores curinga a seguir são permitidos em searchPattern.
| Caractere curinga | Descrição |
|---|---|
| * (asterisco) | Zero ou mais caracteres. |
| ? (ponto de interrogação) | Exatamente zero ou um caractere. |
A ordem dos nomes de arquivo retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.
Caracteres curinga são permitidos. Por exemplo, a searchPattern cadeia de caracteres "*.txt" pesquisa todos os nomes de arquivo com uma extensão de "txt". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes de arquivo começando com a letra "s". Se não houver arquivos ou nenhum arquivo que corresponda à searchPattern cadeia de caracteres, DirectoryInfoesse método retornará uma matriz vazia.
Note
Ao usar o caractere curinga do asterisco em um searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia dependendo do comprimento da extensão de arquivo especificada. Um searchPattern com uma extensão de arquivo de exatamente três caracteres retorna arquivos com uma extensão de três ou mais caracteres, em que os três primeiros caracteres correspondem à extensão de arquivo especificada no searchPattern. Um searchPattern com uma extensão de arquivo de um, dois ou mais de três caracteres retorna apenas arquivos com extensões exatamente desse comprimento que correspondem à extensão de arquivo especificada no searchPattern. Ao usar o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos em um diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna os dois arquivos.
A lista a seguir mostra o comportamento de comprimentos diferentes para o searchPattern parâmetro:
"*.abc" retorna arquivos com uma extensão de .abc, .abcd, .abcde, .abcdef e assim por diante.
"*.abcd" retorna apenas arquivos com uma extensão de .abcd.
"*.abcde" retorna apenas arquivos com uma extensão de .abcde.
"*.abcdef" retorna apenas arquivos com uma extensão de .abcdef.
Note
Como esse método verifica nomes de arquivo com o formato de nome de arquivo 8.3 e o formato de nome de arquivo longo, um padrão de pesquisa semelhante a "*1*.txt" pode retornar nomes de arquivo inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" retornará "longfilename.txt" porque o formato de nome de arquivo equivalente 8.3 seria "longf~1.txt".
Esse método preenche previamente os valores das seguintes FileInfo propriedades:
Confira também
Aplica-se a
GetFiles()
Retorna uma lista de arquivos do diretório atual.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
Retornos
Uma matriz do tipo FileInfo.
Exceções
O caminho é inválido, como estar em uma unidade não mapeada.
Exemplos
O exemplo a seguir mostra como obter uma lista de arquivos de um diretório usando diferentes opções de pesquisa. O exemplo pressupõe um diretório que tenha arquivos chamados log1.txt, log2.txt, test1.txt, test2.txt, test3.txte um subdiretório que tenha um arquivo chamado SubFile.txt.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Comentários
Os métodos EnumerateFiles e GetFiles diferem da seguinte maneira:
Ao usar EnumerateFiles, você pode começar a enumerar a coleção de objetos antes que FileInfo toda a coleção seja retornada.
Ao usar GetFiles, você deve aguardar que toda a matriz de objetos seja retornada antes de FileInfo poder acessar a matriz.
Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFiles pode ser mais eficiente.
Se não houver arquivos no DirectoryInfométodo, esse método retornará uma matriz vazia.
A ordem dos nomes de arquivo retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.
Esse método preenche previamente os valores das seguintes FileInfo propriedades:
Confira também
Aplica-se a
GetFiles(String)
Retorna uma lista de arquivos do diretório atual que corresponde ao padrão de pesquisa fornecido.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles(System::String ^ searchPattern);
public System.IO.FileInfo[] GetFiles(string searchPattern);
member this.GetFiles : string -> System.IO.FileInfo[]
Public Function GetFiles (searchPattern As String) As FileInfo()
Parâmetros
- searchPattern
- String
A cadeia de caracteres de pesquisa a ser correspondida com os nomes dos arquivos. Esse parâmetro pode conter uma combinação de caracteres de caminho literal válido e curinga (* e ?), mas não dá suporte a expressões regulares.
Retornos
Uma matriz do tipo FileInfo.
Exceções
Versões do .NET Framework e do .NET Core anteriores à 2.1: searchPattern contém um ou mais caracteres inválidos definidos pelo GetInvalidPathChars() método.
searchPattern é null.
O caminho é inválido (por exemplo, ele está em uma unidade não mapeada).
O chamador não tem a permissão necessária.
Exemplos
O exemplo a seguir mostra como obter uma lista de arquivos de um diretório usando diferentes opções de pesquisa. O exemplo pressupõe um diretório que tenha arquivos chamados log1.txt, log2.txt, test1.txt, test2.txt, test3.txte um subdiretório que tenha um arquivo chamado SubFile.txt.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"C:\Users\tomfitz\Documents\ExampleDir");
Console.WriteLine("No search pattern returns:");
foreach (var fi in di.GetFiles())
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern *2* returns:");
foreach (var fi in di.GetFiles("*2*"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern test?.txt returns:");
foreach (var fi in di.GetFiles("test?.txt"))
{
Console.WriteLine(fi.Name);
}
Console.WriteLine();
Console.WriteLine("Search pattern AllDirectories returns:");
foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
{
Console.WriteLine(fi.Name);
}
}
}
}
/*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*/
open System.IO
let di = DirectoryInfo @"C:\Users\tomfitz\Documents\ExampleDir"
printfn "No search pattern returns:"
for fi in di.GetFiles() do
printfn $"{fi.Name}"
printfn "\nSearch pattern *2* returns:"
for fi in di.GetFiles "*2*" do
printfn $"{fi.Name}"
printfn "\nSearch pattern test?.txt returns:"
for fi in di.GetFiles "test?.txt" do
printfn $"{fi.Name}"
printfn "\nSearch pattern AllDirectories returns:"
for fi in di.GetFiles("*", SearchOption.AllDirectories) do
printfn $"{fi.Name}"
(*
This code produces output similar to the following:
No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
Search pattern *2* returns:
log2.txt
test2.txt
Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt
Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO
Module Module1
Sub Main()
Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
Console.WriteLine("No search pattern returns:")
For Each fi In di.GetFiles()
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern *2* returns:")
For Each fi In di.GetFiles("*2*")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern test?.txt returns:")
For Each fi In di.GetFiles("test?.txt")
Console.WriteLine(fi.Name)
Next
Console.WriteLine()
Console.WriteLine("Search pattern AllDirectories returns:")
For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
Console.WriteLine(fi.Name)
Next
End Sub
End Module
' This code produces output similar to the following:
' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' Search pattern *2* returns:
' log2.txt
' test2.txt
' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt
' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .
Comentários
searchPattern pode ser uma combinação de caracteres literais e curinga, mas não dá suporte a expressões regulares. Os especificadores curinga a seguir são permitidos em searchPattern.
| Especificador curinga | Partidas |
|---|---|
| * (asterisco) | Zero ou mais caracteres nessa posição. |
| ? (ponto de interrogação) | Zero ou um caractere nessa posição. |
Caracteres diferentes do curinga são caracteres literais. Por exemplo, a cadeia de caracteres "*t" pesquisa todos os nomes ao terminar com a letra "t". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes no path início com a letra "s".
Os métodos EnumerateFiles e GetFiles diferem da seguinte maneira:
Ao usar EnumerateFiles, você pode começar a enumerar a coleção de objetos antes que FileInfo toda a coleção seja retornada.
Ao usar GetFiles, você deve aguardar que toda a matriz de objetos seja retornada antes de FileInfo poder acessar a matriz.
Portanto, quando você está trabalhando com muitos arquivos e diretórios, EnumerateFiles pode ser mais eficiente.
Se não houver arquivos no DirectoryInfométodo, esse método retornará uma matriz vazia.
Os especificadores curinga a seguir são permitidos no searchPattern parâmetro.
| Caractere curinga | Descrição |
|---|---|
| * | Zero ou mais caracteres. |
| ? | Exatamente zero ou um caractere. |
A ordem dos nomes de arquivo retornados não é garantida; use o Sort método se uma ordem de classificação específica for necessária.
Caracteres curinga são permitidos. Por exemplo, a searchPattern cadeia de caracteres "*.txt" pesquisa todos os nomes de arquivo com uma extensão de "txt". A searchPattern cadeia de caracteres "s*" pesquisa todos os nomes de arquivo começando com a letra "s". Se não houver arquivos ou nenhum arquivo que corresponda à searchPattern cadeia de caracteres, DirectoryInfoesse método retornará uma matriz vazia.
Note
Ao usar o caractere curinga do asterisco em um searchPattern (por exemplo, "*.txt"), o comportamento de correspondência varia dependendo do comprimento da extensão de arquivo especificada. Um searchPattern com uma extensão de arquivo de exatamente três caracteres retorna arquivos com uma extensão de três ou mais caracteres, em que os três primeiros caracteres correspondem à extensão de arquivo especificada no searchPattern. Um searchPattern com uma extensão de arquivo de um, dois ou mais de três caracteres retorna apenas arquivos com extensões exatamente desse comprimento que correspondem à extensão de arquivo especificada no searchPattern. Ao usar o caractere curinga de ponto de interrogação, esse método retorna apenas arquivos que correspondem à extensão de arquivo especificada. Por exemplo, dado dois arquivos em um diretório, "file1.txt" e "file1.txtother", um padrão de pesquisa de "arquivo?.txt" retorna apenas o primeiro arquivo, enquanto um padrão de pesquisa de "file*.txt" retorna os dois arquivos.
Note
Como esse método verifica nomes de arquivo com o formato de nome de arquivo 8.3 e o formato de nome de arquivo longo, um padrão de pesquisa semelhante a "*1*.txt" pode retornar nomes de arquivo inesperados. Por exemplo, usar um padrão de pesquisa de "*1*.txt" retornará "longfilename.txt" porque o formato de nome de arquivo equivalente 8.3 seria "longf~1.txt".
Esse método preenche previamente os valores das seguintes FileInfo propriedades: