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 dalla directory corrente.
Overload
| Nome | Descrizione |
|---|---|
| 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 corrispondente al criterio di ricerca specificato e usa un valore per determinare se eseguire la ricerca nelle sottodirectory. |
| GetFiles() |
Restituisce un elenco di file dalla directory corrente. |
| GetFiles(String) |
Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca specificato. |
GetFiles(String, EnumerationOptions)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- 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 che deve corrispondere ai nomi dei file. Questo parametro può contenere una combinazione di caratteri jolly e percorso letterale validi (* e ?), ma non supporta espressioni regolari.
- enumerationOptions
- EnumerationOptions
Oggetto che descrive la configurazione di ricerca ed enumerazione da utilizzare.
Valori restituiti
Matrice di oggetti fortemente tipizzati FileInfo che corrispondono searchPattern a 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 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 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 che path iniziano 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 oggetti prima di FileInfo 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 | Description |
|---|---|
| * | 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.
Sono consentiti i metacaratteri. 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 corrisponde alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Note
Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio, "*.txt"), il comportamento di corrispondenza varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern oggetto con estensione di file con esattamente tre caratteri restituisce 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 un file 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 usa 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 di "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.
Note
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'uso 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 prepopola i valori delle proprietà seguenti FileInfo :
Si applica a
GetFiles(String, SearchOption)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca specificato e usa 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 che deve corrispondere ai nomi dei file. Questo parametro può contenere una combinazione di caratteri jolly e percorso letterale validi (* e ?), ma non supporta espressioni regolari.
- searchOption
- SearchOption
Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o tutte le sottodirectory.
Valori restituiti
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 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.txte 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 oggetti prima di FileInfo 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 jolly seguenti sono consentiti in searchPattern.
| Carattere jolly | Description |
|---|---|
| * (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.
Sono consentiti i metacaratteri. 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 corrisponde alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Note
Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio, "*.txt"), il comportamento di corrispondenza varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern oggetto con estensione di file con esattamente tre caratteri restituisce 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 un file 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 usa 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 di "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, 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.
Note
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'uso 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 prepopola i valori delle proprietà seguenti FileInfo :
Vedi anche
Si applica a
GetFiles()
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file dalla 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()
Valori restituiti
Matrice di tipo FileInfo.
Eccezioni
Il percorso non è valido, ad esempio 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 una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txte 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 oggetti prima di FileInfo 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.
L'ordine dei nomi di file restituiti non è garantito; utilizzare il Sort metodo se è necessario un ordinamento specifico.
Questo metodo prepopola i valori delle proprietà seguenti FileInfo :
Vedi anche
Si applica a
GetFiles(String)
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Restituisce un elenco di file dalla directory corrente corrispondente al criterio di ricerca specificato.
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 che deve corrispondere ai nomi dei file. Questo parametro può contenere una combinazione di caratteri jolly e percorso letterale validi (* e ?), ma non supporta espressioni regolari.
Valori restituiti
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.
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.txte 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 caratteri jolly, ma non supporta espressioni regolari. Gli identificatori 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 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 che path iniziano 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 oggetti prima di FileInfo 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 | Description |
|---|---|
| * | 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.
Sono consentiti i metacaratteri. 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 corrisponde alla searchPattern stringa in DirectoryInfo, questo metodo restituisce una matrice vuota.
Note
Quando si usa il carattere jolly asterisco in un searchPattern (ad esempio, "*.txt"), il comportamento di corrispondenza varia a seconda della lunghezza dell'estensione di file specificata. Un searchPattern oggetto con estensione di file con esattamente tre caratteri restituisce 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 un file 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 usa 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 di "file?.txt" restituisce solo il primo file, mentre un criterio di ricerca "file*.txt" restituisce entrambi i file.
Note
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'uso 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 prepopola i valori delle proprietà seguenti FileInfo :