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í
GetFiles(String, EnumerationOptions) |
Vrátí seznam souborů z aktuálního adresáře, který odpovídá zadanému vzoru vyhledávání a možnostem výčtu. |
GetFiles(String, SearchOption) |
Vrátí seznam souborů z aktuálního adresáře, který odpovídá danému vzoru hledání, a pomocí hodnoty určí, zda 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, který odpovídá danému vzoru hledání. |
GetFiles(String, EnumerationOptions)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře, který odpovídá zadanému vzoru vyhledává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é literálové cesty 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 rozhraní .NET Framework a .NET Core starší než 2.1: searchPattern
obsahují jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars() .
searchPattern
je null
.
Cesta je neplatná (například je na nenamapované 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. V systému jsou povoleny následující specifikátory zástupných searchPattern
znaků.
Specifikátor zástupných znaků | Shody |
---|---|
* (hvězdička) | Na této pozici není žádný nebo více znaků. |
? (otazník) | Na této pozici není žádný nebo jeden znak. |
Jiné znaky než zástupný znak jsou literální znaky. Například řetězec "*t" vyhledá všechna jména končící písmenem "t". Řetězec searchPattern
"s*" vyhledá všechna jména path
začínající písmenem "s".
Metody EnumerateFiles a GetFiles se liší takto:
Při použití příkazu EnumerateFilesmůžete začít s vytvářením výčtu FileInfo kolekce objektů před vrácením celé kolekce.
Pokud použijete , GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, abyste mohli získat přístup k poli.
Proto, když pracujete s mnoha soubory a adresáři, EnumerateFiles může být efektivnější.
Pokud v objektu DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
V parametru jsou povoleny následující specifikátory zástupných searchPattern
znaků.
Zástupný znak | Description |
---|---|
* | Žádný nebo více znaků. |
? | Přesně žádný nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno. Sort Pokud se vyžaduje konkrétní pořadí řazení, použijte metodu .
Zástupné cardy jsou povolené. 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
DirectoryInfov , vrátí tato metoda prázdné pole.
Poznámka
Při použití zástupného znaku hvězdičky v objektu searchPattern
(například "*.txt") se odpovídající chování liší v závislosti na délce zadané přípony souboru. Objekt searchPattern
s příponou souboru přesně tři znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v searchPattern
. Soubor searchPattern
s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně té délky, která odpovídá příponě searchPattern
souboru zadané v . Při použití zástupné otazníku tato metoda vrátí pouze soubory, které odpovídají zadané příponě souboru. Například při použití dvou souborů v adresáři " file1.txt" a "file1.txtother" vrátí vyhledávací vzor "soubor?.txt" pouze první soubor, zatímco vzorec hledání "file*.txt" vrátí oba soubory.
Poznámka
Vzhledem k tomu, že tato metoda kontroluje názvy souborů ve formátu názvu souboru 8.3 i dlouhém formátu názvu souboru, může způsob hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například při hledání "*1*.txt" se vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8.3 by byl "longf~1.txt".
Tato metoda předem vyplní hodnoty následujících FileInfo vlastností:
Platí pro
GetFiles(String, SearchOption)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře, který odpovídá danému vzoru hledání, a pomocí hodnoty určí, zda 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é literálové cesty a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.
- searchOption
- SearchOption
Jedna z hodnot výčtu, která určuje, zda má operace hledání obsahovat pouze aktuální adresář nebo všechny podadresáře.
Návraty
Pole typu FileInfo.
Výjimky
Verze rozhraní .NET Framework a .NET Core starší než 2.1: searchPattern
obsahují 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 nenamapované 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.txt, a podadresář se souborem 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
Metody EnumerateFiles a GetFiles se liší takto:
Při použití příkazu EnumerateFilesmůžete začít s vytvářením výčtu FileInfo kolekce objektů před vrácením celé kolekce.
Pokud použijete , GetFilesmusíte počkat na vrácení celého pole FileInfo objektů, abyste mohli získat přístup k poli.
Proto, když pracujete s mnoha soubory a adresáři, EnumerateFiles může být efektivnější.
Pokud v objektu DirectoryInfonejsou žádné soubory, vrátí tato metoda prázdné pole.
V systému jsou povoleny následující specifikátory zástupných searchPattern
znaků.
Zástupný znak | Description |
---|---|
* (hvězdička) | Žádný nebo více znaků. |
? (otazník) | Přesně žádný nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno. Sort Pokud se vyžaduje konkrétní pořadí řazení, použijte metodu .
Zástupné cardy jsou povolené. 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
DirectoryInfov , vrátí tato metoda prázdné pole.
Poznámka
Při použití zástupného znaku hvězdičky v objektu searchPattern
(například "*.txt") se odpovídající chování liší v závislosti na délce zadané přípony souboru. Objekt searchPattern
s příponou souboru přesně tři znaky vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě souboru zadané v searchPattern
. Soubor searchPattern
s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně té délky, která odpovídá příponě searchPattern
souboru zadané v . Při použití zástupné otazníku tato metoda vrátí pouze soubory, které odpovídají zadané příponě souboru. Například při použití dvou souborů v adresáři " file1.txt" a "file1.txtother" vrátí vyhledávací vzor "soubor?.txt" pouze první soubor, zatímco vzorec hledání "file*.txt" vrátí oba soubory.
Následující seznam ukazuje chování parametru searchPattern
různých délek:
"*.abc" vrátí soubory s příponou .abc, .abcd, .abcde, .abcdef atd.
Výraz *.abcd vrátí pouze soubory s příponou .abcd.
Výraz *.abcde vrátí pouze soubory s příponou .abcde.
Výraz *.abcdef vrátí pouze soubory s příponou .abcdef.
Poznámka
Vzhledem k tomu, že tato metoda kontroluje názvy souborů ve formátu názvu souboru 8.3 i dlouhém formátu názvu souboru, může způsob hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například při hledání "*1*.txt" se vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8.3 by byl "longf~1.txt".
Tato metoda předem vyplní hodnoty následujících FileInfo vlastností:
Viz také
- Vstupně-výstupní operace souborů a Stream
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru
Platí pro
GetFiles()
- 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 na nenamapované 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.txt, a podadresář se souborem 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
Metody EnumerateFiles a GetFiles se liší takto:
Při použití příkazu EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Pokud použijete GetFiles, musíte počkat na vrácení celé pole FileInfo objektů, abyste mohli získat přístup k matici.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v objektu DirectoryInfonejsou žádné soubory , vrátí tato metoda prázdné pole.
Pořadí vrácených názvů souborů není zaručeno. Sort pokud se vyžaduje konkrétní pořadí řazení, použijte metodu .
Tato metoda předem naplní hodnoty následujících FileInfo vlastností:
Viz také
- Vstupně-výstupní operace souborů a Stream
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru
Platí pro
GetFiles(String)
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
- Zdroj:
- DirectoryInfo.cs
Vrátí seznam souborů z aktuálního adresáře, který odpovídá dané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 literálových cest a zástupných znaků (* a ?), ale nepodporuje regulární výrazy.
Návraty
Pole typu FileInfo.
Výjimky
.NET Framework a .NET Core verze 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 na nenamapované 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.txt, a podadresář se souborem 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álu a zástupných znaků, ale nepodporuje regulární výrazy. V systému jsou povoleny následující specifikátory zástupných searchPattern
znaků.
Specifikátor zástupných znaků | Shody |
---|---|
* (hvězdička) | Na této pozici není žádný nebo více znaků. |
? (otazník) | V této pozici není žádný nebo jeden znak. |
Jiné znaky než zástupný znak jsou literálové znaky. Například řetězec "*t" vyhledá všechna jména končící písmenem "t". Řetězec searchPattern
"s*" vyhledá všechna jména začínající path
písmenem "s".
Metody EnumerateFiles a GetFiles se liší takto:
Při použití příkazu EnumerateFilesmůžete zahájit výčet kolekce FileInfo objektů před vrácením celé kolekce.
Pokud použijete GetFiles, musíte počkat na vrácení celé pole FileInfo objektů, abyste mohli získat přístup k matici.
Proto při práci s mnoha soubory a adresáři EnumerateFiles může být efektivnější.
Pokud v objektu DirectoryInfonejsou žádné soubory , vrátí tato metoda prázdné pole.
V parametru jsou povoleny následující specifikátory zástupných searchPattern
znaků.
Zástupný znak | Description |
---|---|
* | Nula nebo více znaků. |
? | Přesně nula nebo jeden znak. |
Pořadí vrácených názvů souborů není zaručeno. Sort pokud se vyžaduje konkrétní pořadí řazení, použijte metodu .
Jsou povoleny zástupné y. 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
DirectoryInfov , vrátí tato metoda prázdné pole.
Poznámka
Při použití zástupného znaku hvězdičky v searchPattern
souboru (například "*.txt") se odpovídající chování liší v závislosti na délce zadané přípony souboru. Objekt s searchPattern
příponou souboru přesně o třech znachtích vrátí soubory s příponou tří nebo více znaků, kde první tři znaky odpovídají příponě searchPattern
souboru zadané v souboru . Soubor searchPattern
s příponou jednoho, dvou nebo více než tří znaků vrátí pouze soubory s příponou přesně té délky, které odpovídají příponě searchPattern
souboru zadané v . Při použití otazníku se zástupným znakem vrátí tato metoda pouze soubory, které odpovídají zadané příponě souboru. Například když zadáte dva soubory v adresáři, "file1.txt" a "file1.txtother", vrátí vzor hledání "file?.txt" jenom první soubor, zatímco model hledání "file*.txt" vrátí oba soubory.
Poznámka
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 způsob hledání podobný "*1*.txt" vrátit neočekávané názvy souborů. Například při použití vzorce hledání "*1*.txt" se vrátí "longfilename.txt", protože ekvivalentní formát názvu souboru 8.3 bude "longf~1.txt".
Tato metoda předem naplní hodnoty následujících FileInfo vlastností:
Viz také
- Vstupně-výstupní operace souborů a Stream
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru