DirectoryInfo.GetFiles Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí seznam souborů z aktuálního adresáře.
Přetížení
| Name | Description |
|---|---|
| GetFiles(String, EnumerationOptions) |
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a možnostem výčtu. |
| GetFiles(String, SearchOption) |
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a pomocí hodnoty určí, jestli se mají hledat podadresáře. |
| GetFiles() |
Vrátí seznam souborů z aktuálního adresáře. |
| GetFiles(String) |
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání. |
GetFiles(String, EnumerationOptions)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a možnostem výčtu.
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()
Parametry
- searchPattern
- String
Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.
- enumerationOptions
- EnumerationOptions
Objekt, který popisuje konfiguraci vyhledávání a výčtu, která se má použít.
Návraty
Pole objektů silného typu FileInfo , které odpovídají searchPattern a enumerationOptions.
Výjimky
Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .
searchPattern je null.
Cesta je neplatná (například je na nemapované jednotce).
Volající nemá požadované oprávnění.
Poznámky
searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. Následující specifikátory zástupných znaků jsou povoleny v searchPattern.
| Specifikátor zástupných znaků | Shody |
|---|---|
| * (hvězdička) | V této pozici je nula nebo více znaků. |
| ? (otazník) | V této pozici je nula nebo jeden znak. |
Jiné znaky než zástupné znaky jsou literální znaky. Například řetězec "*t" vyhledá všechny názvy končící písmenem "t". Řetězec searchPattern "s*" vyhledá všechny názvy začínající path písmenem "s".
Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:
Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
V parametru searchPattern jsou povoleny následující specifikátory zástupných znaků.
| Divoká karta | Description |
|---|---|
| * | Nula nebo více znaků. |
| ? | Přesně nula nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.
Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.
Note
Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.
Note
Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".
Tato metoda předem naplní hodnoty následujících FileInfo vlastností:
Platí pro
GetFiles(String, SearchOption)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání a pomocí hodnoty určí, jestli se mají hledat podadresáře.
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()
Parametry
- searchPattern
- String
Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.
- searchOption
- SearchOption
Jedna z hodnot výčtu, která určuje, zda by operace hledání měla obsahovat pouze aktuální adresář nebo všechny podadresáře.
Návraty
Pole typu FileInfo.
Výjimky
Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .
searchPattern je null.
searchOption není platná SearchOption hodnota.
Cesta je neplatná (například je na nemapované jednotce).
Volající nemá požadované oprávnění.
Příklady
Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .
Poznámky
Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:
Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
Následující specifikátory zástupných znaků jsou povoleny v searchPattern.
| Divoká karta | Description |
|---|---|
| * (hvězdička) | Nula nebo více znaků. |
| ? (otazník) | Přesně nula nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.
Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.
Note
Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.
Následující seznam ukazuje chování různých délek parametru searchPattern :
"*.abc" vrátí soubory s příponou .abcd, .abcd, .abcdef atd.
"*.abcd" vrátí pouze soubory s příponou .abcd.
"*.abcde" vrátí pouze soubory s příponou .abcde.
Výraz *.abcdef vrátí pouze soubory s příponou .abcdef.
Note
Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".
Tato metoda předem naplní hodnoty následujících FileInfo vlastností:
Viz také
Platí pro
GetFiles()
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
Návraty
Pole typu FileInfo.
Výjimky
Cesta je neplatná, například že je na nemapované jednotce.
Příklady
Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .
Poznámky
Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:
Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.
Tato metoda předem naplní hodnoty následujících FileInfo vlastností:
Viz také
Platí pro
GetFiles(String)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře odpovídající zadanému vzoru hledání.
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()
Parametry
- searchPattern
- String
Hledaný řetězec, který se má shodovat s názvy souborů. Tento parametr může obsahovat kombinaci platných znaků literálu a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.
Návraty
Pole typu FileInfo.
Výjimky
Verze .NET Framework a .NET Core starší než 2.1: searchPattern obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .
searchPattern je null.
Cesta je neplatná (například je na nemapované jednotce).
Volající nemá požadované oprávnění.
Příklady
Následující příklad ukazuje, jak získat seznam souborů z adresáře pomocí různých možností hledání. Příklad předpokládá adresář, který obsahuje soubory s názvem log1.txt, log2.txt, test1.txt, test2.txt, test3.txta podadresářem, který má soubor s názvem 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 . . .
Poznámky
searchPattern může být kombinací literálů a zástupných znaků, ale nepodporuje regulární výrazy. Následující specifikátory zástupných znaků jsou povoleny v searchPattern.
| Specifikátor zástupných znaků | Shody |
|---|---|
| * (hvězdička) | V této pozici je nula nebo více znaků. |
| ? (otazník) | V této pozici je nula nebo jeden znak. |
Jiné znaky než zástupné znaky jsou literální znaky. Například řetězec "*t" vyhledá všechny názvy končící písmenem "t". Řetězec searchPattern "s*" vyhledá všechny názvy začínající path písmenem "s".
Tyto metody EnumerateFiles a GetFiles se liší následujícím způsobem:
Při použití EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Při použití GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, než budete mít přístup k poli.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v souboru DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
V parametru searchPattern jsou povoleny následující specifikátory zástupných znaků.
| Divoká karta | Description |
|---|---|
| * | Nula nebo více znaků. |
| ? | Přesně nula nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno; použijte metodu Sort , pokud je požadováno konkrétní pořadí řazení.
Jsou povoleny zástupné symboly. Například searchPattern řetězec "*.txt" vyhledá všechny názvy souborů s příponou "txt". Řetězec searchPattern "s*" vyhledá všechny názvy souborů začínající písmenem "s". Pokud neexistují žádné soubory nebo žádné soubory, které odpovídají řetězci searchPattern v , DirectoryInfotato metoda vrátí prázdné pole.
Note
Při použití zástupného znaku hvězdičky v znaku searchPattern (například "*.txt"), se odpovídající chování liší v závislosti na délce zadané přípony souboru. A searchPattern s příponou souboru s přesně třemi znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v sadě searchPattern. A searchPattern s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně této délky, které odpovídají příponě souboru zadané v searchPatternsouboru . Při použití zástupné znaky otazníku vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například dva soubory v adresáři, "file1.txt" a "file1.txtother", vzor hledání "soubor?.txt" vrátí pouze první soubor, zatímco hledaný vzor "file*.txt" vrátí oba soubory.
Note
Vzhledem k tomu, že tato metoda kontroluje názvy souborů s formátem názvu souboru 8.3 i formátem dlouhého názvu souboru, může vzor hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například použití vyhledávacího vzoru "*1*.txt" vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8,3 by byl "longf~1.txt".
Tato metoda předem naplní hodnoty následujících FileInfo vlastností: