DirectoryInfo.GetFiles Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een bestandslijst uit de huidige map.
Overloads
| Name | Description |
|---|---|
| GetFiles(String, EnumerationOptions) |
Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon en de opsommingsopties. |
| GetFiles(String, SearchOption) |
Retourneert een lijst met bestanden uit de huidige map die overeenkomt met het opgegeven zoekpatroon en met behulp van een waarde om te bepalen of submappen moeten worden gezocht. |
| GetFiles() |
Retourneert een bestandslijst uit de huidige map. |
| GetFiles(String) |
Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon. |
GetFiles(String, EnumerationOptions)
Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon en de opsommingsopties.
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()
Parameters
- searchPattern
- String
De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.
- enumerationOptions
- EnumerationOptions
Een object dat de zoek- en opsommingsconfiguratie beschrijft die moet worden gebruikt.
Retouren
Een matrix van sterk getypte FileInfo objecten die overeenkomen searchPattern met en enumerationOptions.
Uitzonderingen
.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().
searchPattern is null.
Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).
De beller heeft niet de vereiste machtiging.
Opmerkingen
searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.
| Jokertekenaanduiding | Overeenkomsten |
|---|---|
| * (sterretje) | Nul of meer tekens op die positie. |
| ? (vraagteken) | Nul of één teken op die positie. |
Andere tekens dan het jokerteken zijn letterlijke tekens. Met de tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.
De EnumerateFiles en GetFiles methoden verschillen als volgt:
Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.
Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.
Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.
Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.
De volgende jokertekenaanduidingen zijn toegestaan in de searchPattern parameter.
| Jokerteken | Description |
|---|---|
| * | Nul of meer tekens. |
| ? | Precies nul of één teken. |
De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.
Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.
Note
Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.
Note
Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.
Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:
Van toepassing op
GetFiles(String, SearchOption)
Retourneert een lijst met bestanden uit de huidige map die overeenkomt met het opgegeven zoekpatroon en met behulp van een waarde om te bepalen of submappen moeten worden gezocht.
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()
Parameters
- searchPattern
- String
De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.
- searchOption
- SearchOption
Een van de opsommingswaarden die aangeeft of de zoekbewerking alleen de huidige map of alle submappen moet bevatten.
Retouren
Een matrix van het type FileInfo.
Uitzonderingen
.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().
searchPattern is null.
searchOption is geen geldige SearchOption waarde.
Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).
De beller heeft niet de vereiste machtiging.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam 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 . . .
Opmerkingen
De EnumerateFiles en GetFiles methoden verschillen als volgt:
Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.
Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.
Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.
Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.
De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.
| Jokerteken | Description |
|---|---|
| * (sterretje) | Nul of meer tekens. |
| ? (vraagteken) | Precies nul of één teken. |
De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.
Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.
Note
Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.
In de volgende lijst ziet u het gedrag van verschillende lengten voor de searchPattern parameter:
*.abc retourneert bestanden met de extensie .abc, .abcd, .abcde, .abcde, .abcdef, enzovoort.
*.abcd retourneert alleen bestanden met de extensie .abcd.
*.abcde retourneert alleen bestanden met de extensie .abcde.
*.abcdef retourneert alleen bestanden met de extensie .abcdef.
Note
Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.
Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:
Zie ook
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
Van toepassing op
GetFiles()
Retourneert een bestandslijst uit de huidige map.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
Retouren
Een matrix van het type FileInfo.
Uitzonderingen
Het pad is ongeldig, zoals op een niet-toegewezen station.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam 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 . . .
Opmerkingen
De EnumerateFiles en GetFiles methoden verschillen als volgt:
Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.
Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.
Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.
Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.
De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.
Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:
Zie ook
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
Van toepassing op
GetFiles(String)
Retourneert een bestandslijst uit de huidige map die overeenkomt met het opgegeven zoekpatroon.
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()
Parameters
- searchPattern
- String
De zoekreeks die overeenkomt met de namen van bestanden. Deze parameter kan een combinatie van geldig letterlijke tekens en jokertekens (* en ?) bevatten, maar biedt geen ondersteuning voor reguliere expressies.
Retouren
Een matrix van het type FileInfo.
Uitzonderingen
.NET Framework- en .NET Core-versies ouder dan 2.1: searchPattern bevat een of meer ongeldige tekens die zijn gedefinieerd door de methode GetInvalidPathChars().
searchPattern is null.
Het pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).
De beller heeft niet de vereiste machtiging.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een lijst met bestanden uit een map kunt ophalen met behulp van verschillende zoekopties. In het voorbeeld wordt uitgegaan van een map met bestanden met de naam log1.txt, log2.txt, test1.txt, test2.txt, test3.txten een submap met een bestand met de naam 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 . . .
Opmerkingen
searchPattern kan een combinatie zijn van letterlijke tekens en jokertekens, maar biedt geen ondersteuning voor reguliere expressies. De volgende jokertekenaanduidingen zijn toegestaan in searchPattern.
| Jokertekenaanduiding | Overeenkomsten |
|---|---|
| * (sterretje) | Nul of meer tekens op die positie. |
| ? (vraagteken) | Nul of één teken op die positie. |
Andere tekens dan het jokerteken zijn letterlijke tekens. Met de tekenreeks '*t' wordt bijvoorbeeld gezocht naar alle namen die eindigen op de letter 't'. De searchPattern tekenreeks 's*' zoekt naar alle namen in path het begin met de letter 's'.
De EnumerateFiles en GetFiles methoden verschillen als volgt:
Wanneer u dit gebruikt EnumerateFiles, kunt u beginnen met het inventariseren van FileInfo de verzameling objecten voordat de hele verzameling wordt geretourneerd.
Wanneer u deze functie gebruikt GetFiles, moet u wachten totdat de hele matrix met FileInfo objecten wordt geretourneerd voordat u toegang hebt tot de matrix.
Daarom kan het efficiënter zijn wanneer u met veel bestanden en mappen EnumerateFiles werkt.
Als er geen bestanden in de DirectoryInfotabel staan, retourneert deze methode een lege matrix.
De volgende jokertekenaanduidingen zijn toegestaan in de searchPattern parameter.
| Jokerteken | Description |
|---|---|
| * | Nul of meer tekens. |
| ? | Precies nul of één teken. |
De volgorde van de geretourneerde bestandsnamen is niet gegarandeerd; gebruik de Sort methode als een specifieke sorteervolgorde is vereist.
Wildcards zijn toegestaan. Met de searchPattern tekenreeks '*.txt' wordt bijvoorbeeld gezocht naar alle bestandsnamen met de extensie 'txt'. De searchPattern tekenreeks 's*' zoekt naar alle bestandsnamen die beginnen met de letter 's'. Als er geen bestanden zijn of geen bestanden die overeenkomen met de searchPattern tekenreeks in de DirectoryInfotekenreeks, retourneert deze methode een lege matrix.
Note
Wanneer u het jokerteken van het sterretje in een searchPattern (bijvoorbeeld '*.txt'), het overeenkomende gedrag varieert, afhankelijk van de lengte van de opgegeven bestandsextensie. Een searchPattern met een bestandsextensie van precies drie tekens retourneert bestanden met een extensie van drie of meer tekens, waarbij de eerste drie tekens overeenkomen met de bestandsextensie die is opgegeven in de searchPattern. Een searchPattern met een bestandsextensie van één, twee of meer dan drie tekens retourneert alleen bestanden met extensies van precies die lengte die overeenkomt met de bestandsextensie die is opgegeven in de searchPattern. Wanneer u het vraagteken jokerteken gebruikt, retourneert deze methode alleen bestanden die overeenkomen met de opgegeven bestandsextensie. Bijvoorbeeld, gegeven twee bestanden in een map, "file1.txt" en "file1.txtother", een zoekpatroon van "bestand?.txt" retourneert alleen het eerste bestand, terwijl een zoekpatroon van 'bestand*.txt' beide bestanden retourneert.
Note
Omdat deze methode controleert op bestandsnamen met zowel de 8.3-bestandsindeling als de lange bestandsnaamindeling, kan een zoekpatroon dat vergelijkbaar is met *1*.txt" onverwachte bestandsnamen retourneren. Als u bijvoorbeeld een zoekpatroon van '*1*.txt' gebruikt, wordt 'longfilename.txt' geretourneerd omdat de equivalente 8.3-bestandsindeling 'longf~1.txt' zou zijn.
Met deze methode worden de waarden van de volgende FileInfo eigenschappen vooraf ingevuld:
Zie ook
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven