DirectoryInfo.GetFiles Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un elenco di file della directory corrente.
Overload
GetFiles(String, EnumerationOptions) |
Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati. |
GetFiles(String, SearchOption) |
Restituisce un elenco di file dalla directory corrente che corrisponde al criterio di ricerca fornito e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory. |
GetFiles() |
Restituisce un elenco di file della directory corrente. |
GetFiles(String) |
Restituisce un elenco di file della directory corrente corrispondente al criterio di ricerca fornito. |
GetFiles(String, EnumerationOptions)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca e alle opzioni di enumerazione specificati.
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()
Parametri
- searchPattern
- String
Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.
- enumerationOptions
- EnumerationOptions
Oggetto che descrive la configurazione di ricerca ed enumerazione da usare.
Restituisce
Matrice di oggetti FileInfo fortemente tipizzati che corrispondono a searchPattern
e enumerationOptions
.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern
contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .
searchPattern
è null
.
Il percorso non è valido, ad esempio si trova in un'unità non mappata.
Il chiamante non dispone dell'autorizzazione richiesta.
Commenti
searchPattern
può essere una combinazione di caratteri letterali e caratteri jolly, ma non supporta espressioni regolari. Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern
.
Identificatore di caratteri jolly | Corrispondenze |
---|---|
* (asterisco) | Zero o più caratteri in tale posizione. |
? (punto interrogativo) | Zero o un carattere in tale posizione. |
I caratteri diversi dai caratteri jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". La searchPattern
stringa "s*" cerca tutti i nomi che iniziano path
con la lettera "s".
I EnumerateFiles metodi e GetFiles differiscono come segue:
Quando si utilizza EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.
Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di FileInfo oggetti prima di poter accedere alla matrice.
Pertanto, quando si lavora con molti file e directory, EnumerateFiles può essere più efficiente.
Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.
Nel parametro sono consentiti searchPattern
gli identificatori jolly seguenti.
Carattere jolly | Descrizione |
---|---|
* | Zero o più caratteri. |
? | Esattamente zero o un carattere. |
L'ordine dei nomi di file restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
I caratteri jolly sono consentiti. Ad esempio, la searchPattern
stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern
stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern
stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Nota
Quando si usa il carattere jolly asterisco in un searchPattern
(ad esempio, "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern
oggetto con estensione di file di esattamente tre caratteri restituisce i file con estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione di file specificata in searchPattern
. Un searchPattern
oggetto con estensione di uno, due o più di tre caratteri restituisce solo i file con estensioni di esattamente tale lunghezza che corrispondono all'estensione di file specificata in searchPattern
. Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.
Nota
Poiché questo metodo controlla i nomi di file con il formato del nome file 8.3 e il formato di nome file lungo, un criterio di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'utilizzo di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato del nome file 8.3 equivalente sarebbe "longf~1.txt".
Questo metodo precompila i valori delle proprietà seguenti FileInfo :
Si applica a
GetFiles(String, SearchOption)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file dalla directory corrente che corrisponde al criterio di ricerca fornito e che utilizza un valore per determinare se eseguire la ricerca nelle sottodirectory.
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()
Parametri
- searchPattern
- String
Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.
- searchOption
- SearchOption
Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o anche tutte le sottodirectory.
Restituisce
Matrice di tipo FileInfo.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: searchPattern
contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .
searchPattern
è null
.
searchOption
non è un valore valido di SearchOption.
Il percorso non è valido, ad esempio si trova in un'unità non mappata.
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .
Commenti
I EnumerateFiles metodi e GetFiles differiscono come segue:
Quando si utilizza EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.
Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di FileInfo oggetti prima di poter accedere alla matrice.
Pertanto, quando si lavora con molti file e directory, EnumerateFiles può essere più efficiente.
Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.
Gli identificatori con caratteri jolly seguenti sono consentiti in searchPattern
.
Carattere jolly | Descrizione |
---|---|
* (asterisco) | Zero o più caratteri. |
? (punto interrogativo) | Esattamente zero o un carattere. |
L'ordine dei nomi di file restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
I caratteri jolly sono consentiti. Ad esempio, la searchPattern
stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern
stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern
stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Nota
Quando si usa il carattere jolly asterisco in un searchPattern
(ad esempio, "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern
oggetto con estensione di file di esattamente tre caratteri restituisce i file con estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione di file specificata in searchPattern
. Un searchPattern
oggetto con estensione di uno, due o più di tre caratteri restituisce solo i file con estensioni di esattamente tale lunghezza che corrispondono all'estensione di file specificata in searchPattern
. Quando si utilizza il carattere jolly del punto interrogativo, questo metodo restituisce solo i file che corrispondono all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.
L'elenco seguente mostra il comportamento di lunghezze diverse per il searchPattern
parametro :
"*.abc" restituisce i file con estensione abc, abcd, abcde, abcde, abcdef e così via.
"*.abcd" restituisce solo i file con estensione abcd.
"*.abcde" restituisce solo i file con estensione abcde.
"*.abcdef" restituisce solo i file con estensione abcdef.
Nota
Poiché questo metodo controlla i nomi di file con il formato del nome file 8.3 e il formato di nome file lungo, un criterio di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'utilizzo di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato del nome file 8.3 equivalente sarebbe "longf~1.txt".
Questo metodo precompila i valori delle proprietà seguenti FileInfo :
Vedi anche
Si applica a
GetFiles()
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file della directory corrente.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles ();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
Restituisce
Matrice di tipo FileInfo.
Eccezioni
Il percorso non è valido, ad esempio si trova in un'unità non mappata.
Esempio
Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .
Commenti
I EnumerateFiles metodi e GetFiles differiscono come segue:
Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.
Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.
Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.
Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.
L'ordine dei nomi di file restituiti non è garantito; usare il Sort metodo se è necessario un ordine di ordinamento specifico.
Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :
Vedi anche
Si applica a
GetFiles(String)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file della directory corrente corrispondente al criterio di ricerca fornito.
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()
Parametri
- searchPattern
- String
Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.
Restituisce
Matrice di tipo FileInfo.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla versione 2.1: searchPattern
contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .
searchPattern
è null
.
Il percorso non è valido, ad esempio si trova in un'unità non mappata.
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio seguente viene illustrato come ottenere un elenco di file da una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .
Commenti
searchPattern
può essere una combinazione di caratteri letterali e jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern
.
Identificatore jolly | Corrispondenze |
---|---|
* (asterisco) | Zero o più caratteri in tale posizione. |
? (punto interrogativo) | Zero o un carattere in tale posizione. |
I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". La searchPattern
stringa "s*" cerca tutti i nomi in path
inizio con la lettera "s".
I EnumerateFiles metodi e GetFiles differiscono come segue:
Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.
Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.
Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.
Se non sono presenti file in DirectoryInfo, questo metodo restituisce una matrice vuota.
Gli identificatori jolly seguenti sono consentiti nel searchPattern
parametro.
Carattere jolly | Descrizione |
---|---|
* | Zero o più caratteri. |
? | Esattamente zero o un carattere. |
L'ordine dei nomi di file restituiti non è garantito; usare il Sort metodo se è necessario un ordine di ordinamento specifico.
I caratteri jolly sono consentiti. Ad esempio, la searchPattern
stringa "*.txt" cerca tutti i nomi di file con estensione "txt". La searchPattern
stringa "s*" cerca tutti i nomi di file che iniziano con la lettera "s". Se non sono presenti file o nessun file che corrispondono alla searchPattern
stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Nota
Quando si usa il carattere jolly asterisco in un searchPattern
(ad esempio , "*.txt"), il comportamento corrispondente varia a seconda della lunghezza dell'estensione del file specificata. Un con searchPattern
un'estensione di file di esattamente tre caratteri restituisce i file con un'estensione di tre o più caratteri, in cui i primi tre caratteri corrispondono all'estensione searchPattern
del file specificata in . A searchPattern
con un'estensione di file di uno, due o più di tre caratteri restituisce solo file con estensioni di esattamente quella lunghezza corrispondente all'estensione searchPattern
del file specificata in . Quando si usa il carattere jolly punto interrogativo, questo metodo restituisce solo i file corrispondenti all'estensione di file specificata. Ad esempio, dato due file in una directory, "file1.txt" e "file1.txtother", un modello di ricerca "file?.txt" restituisce solo il primo file, mentre un modello di ricerca di "file*.txt" restituisce entrambi i file.
Nota
Poiché questo metodo controlla i nomi di file con il formato nome file 8.3 e il formato di nome file lungo, un modello di ricerca simile a "*1*.txt" potrebbe restituire nomi di file imprevisti. Ad esempio, l'uso di un modello di ricerca "*1*.txt" restituirà "longfilename.txt" perché il formato di nome file 8.3 equivalente sarebbe "longf~1.txt".
Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :