DirectoryInfo.GetFiles Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan daftar file dari direktori saat ini.
Overload
GetFiles(String, EnumerationOptions) |
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan. |
GetFiles(String, SearchOption) |
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian yang diberikan dan menggunakan nilai untuk menentukan apakah akan mencari subdirektori. |
GetFiles() |
Mengembalikan daftar file dari direktori saat ini. |
GetFiles(String) |
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian yang diberikan. |
GetFiles(String, EnumerationOptions)
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan.
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()
Parameter
- searchPattern
- String
String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.
- enumerationOptions
- EnumerationOptions
Objek yang menjelaskan konfigurasi pencarian dan enumerasi untuk digunakan.
Mengembalikan
Array objek dengan jenis FileInfo kuat yang cocok searchPattern
dan enumerationOptions
.
Pengecualian
.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern
berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .
searchPattern
adalah null
.
Jalur tidak valid (misalnya, ada di drive yang tidak dipetakan).
Pemanggil tidak memiliki izin yang diperlukan.
Keterangan
searchPattern
dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern
.
Penentu kartubebas | Cocok |
---|---|
* (tanda bintang) | Nol karakter atau lebih dalam posisi tersebut. |
? (tanda tanya) | Nol atau satu karakter dalam posisi tersebut. |
Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". String searchPattern
"s*" mencari semua nama di path
awal dengan huruf "s".
Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:
Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.
Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.
Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.
Jika tidak ada file dalam DirectoryInfo, metode ini mengembalikan array kosong.
Penentu kartubebas berikut diizinkan dalam searchPattern
parameter .
Katakter kartubebas | Deskripsi |
---|---|
* | Nol karakter atau lebih. |
? | Tepat nol atau satu karakter. |
Urutan nama file yang dikembalikan tidak dijamin; Sort gunakan metode jika urutan pengurutan tertentu diperlukan.
Kartubebas diizinkan. Misalnya, searchPattern
string "*.txt" mencari semua nama file yang memiliki ekstensi "txt". String searchPattern
"s*" mencari semua nama file yang dimulai dengan huruf "s". Jika tidak ada file, atau tidak ada file yang cocok dengan searchPattern
string dalam DirectoryInfo, metode ini mengembalikan array kosong.
Catatan
Saat menggunakan karakter kartubebas tanda bintang dalam searchPattern
(misalnya, "*.txt"), perilaku pencocokan bervariasi tergantung pada panjang ekstensi file yang ditentukan. Dengan searchPattern
ekstensi file tepat tiga karakter mengembalikan file dengan ekstensi tiga karakter atau lebih, di mana tiga karakter pertama cocok dengan ekstensi file yang ditentukan dalam searchPattern
. dengan searchPattern
ekstensi file satu, dua, atau lebih dari tiga karakter hanya mengembalikan file dengan ekstensi persis dengan panjang yang cocok dengan ekstensi file yang ditentukan dalam searchPattern
. Saat menggunakan karakter kartubebas tanda tanya, metode ini hanya mengembalikan file yang cocok dengan ekstensi file yang ditentukan. Misalnya, diberikan dua file dalam direktori, "file1.txt" dan "file1.txtother", pola pencarian "file?.txt" hanya mengembalikan file pertama, sementara pola pencarian "file*.txt" mengembalikan kedua file.
Catatan
Karena metode ini memeriksa nama file dengan format nama file 8.3 dan format nama file panjang, pola pencarian yang mirip dengan "*1*.txt" dapat mengembalikan nama file yang tidak terduga. Misalnya, menggunakan pola pencarian "*1*.txt" akan mengembalikan "longfilename.txt" karena format nama file 8.3 yang setara adalah "longf~1.txt".
Metode ini telah mengisi nilai properti berikut FileInfo :
Berlaku untuk
GetFiles(String, SearchOption)
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian yang diberikan dan menggunakan nilai untuk menentukan apakah akan mencari subdirektori.
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()
Parameter
- searchPattern
- String
String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.
- searchOption
- SearchOption
Salah satu nilai enumerasi yang menentukan apakah operasi pencarian hanya boleh menyertakan direktori saat ini atau semua subdirektori.
Mengembalikan
Array jenis FileInfo.
Pengecualian
.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern
berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .
searchPattern
adalah null
.
searchOption
bukan nilai yang valid SearchOption .
Jalur tidak valid (misalnya, ada di drive yang tidak dipetakan).
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh berikut menunjukkan cara mendapatkan daftar file dari direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .
Keterangan
Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:
Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.
Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.
Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.
Jika tidak ada file dalam DirectoryInfo, metode ini mengembalikan array kosong.
Penentu kartubebas berikut diizinkan di searchPattern
.
Katakter kartubebas | Deskripsi |
---|---|
* (tanda bintang) | Nol karakter atau lebih. |
? (tanda tanya) | Tepat nol atau satu karakter. |
Urutan nama file yang dikembalikan tidak dijamin; Sort gunakan metode jika urutan pengurutan tertentu diperlukan.
Kartubebas diizinkan. Misalnya, searchPattern
string "*.txt" mencari semua nama file yang memiliki ekstensi "txt". String searchPattern
"s*" mencari semua nama file yang dimulai dengan huruf "s". Jika tidak ada file, atau tidak ada file yang cocok dengan searchPattern
string dalam DirectoryInfo, metode ini mengembalikan array kosong.
Catatan
Saat menggunakan karakter kartubebas tanda bintang dalam searchPattern
(misalnya, "*.txt"), perilaku pencocokan bervariasi tergantung pada panjang ekstensi file yang ditentukan. Dengan searchPattern
ekstensi file tepat tiga karakter mengembalikan file dengan ekstensi tiga karakter atau lebih, di mana tiga karakter pertama cocok dengan ekstensi file yang ditentukan dalam searchPattern
. dengan searchPattern
ekstensi file satu, dua, atau lebih dari tiga karakter hanya mengembalikan file dengan ekstensi persis dengan panjang yang cocok dengan ekstensi file yang ditentukan dalam searchPattern
. Saat menggunakan karakter kartubebas tanda tanya, metode ini hanya mengembalikan file yang cocok dengan ekstensi file yang ditentukan. Misalnya, diberikan dua file dalam direktori, "file1.txt" dan "file1.txtother", pola pencarian "file?.txt" hanya mengembalikan file pertama, sementara pola pencarian "file*.txt" mengembalikan kedua file.
Daftar berikut menunjukkan perilaku dengan panjang yang berbeda untuk searchPattern
parameter:
"*.abc" mengembalikan file yang memiliki ekstensi .abc, .abcd, .abcde, .abcdef, dan sebagainya.
"*.abcd" hanya mengembalikan file yang memiliki ekstensi .abcd.
"*.abcde" hanya mengembalikan file yang memiliki ekstensi .abcde.
"*.abcdef" hanya mengembalikan file yang memiliki ekstensi .abcdef.
Catatan
Karena metode ini memeriksa nama file dengan format nama file 8.3 dan format nama file panjang, pola pencarian yang mirip dengan "*1*.txt" dapat mengembalikan nama file yang tidak terduga. Misalnya, menggunakan pola pencarian "*1*.txt" akan mengembalikan "longfilename.txt" karena format nama file 8.3 yang setara adalah "longf~1.txt".
Metode ini telah mengisi nilai properti berikut FileInfo :
Lihat juga
Berlaku untuk
GetFiles()
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
Mengembalikan daftar file dari direktori saat ini.
public:
cli::array <System::IO::FileInfo ^> ^ GetFiles();
public System.IO.FileInfo[] GetFiles ();
member this.GetFiles : unit -> System.IO.FileInfo[]
Public Function GetFiles () As FileInfo()
Mengembalikan
Array jenis FileInfo.
Pengecualian
Jalur tidak valid, seperti berada di drive yang tidak dipetakan.
Contoh
Contoh berikut menunjukkan cara mendapatkan daftar file dari direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .
Keterangan
Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:
Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.
Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.
Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.
Jika tidak ada file dalam DirectoryInfo, metode ini mengembalikan array kosong.
Urutan nama file yang dikembalikan tidak dijamin; Sort gunakan metode jika urutan pengurutan tertentu diperlukan.
Metode ini telah mengisi nilai properti berikut FileInfo :
Lihat juga
Berlaku untuk
GetFiles(String)
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
- Sumber:
- DirectoryInfo.cs
Mengembalikan daftar file dari direktori saat ini yang cocok dengan pola pencarian yang diberikan.
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()
Parameter
- searchPattern
- String
String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.
Mengembalikan
Array jenis FileInfo.
Pengecualian
.NET Framework dan versi .NET Core yang lebih lama dari 2.1: searchPattern
berisi satu atau beberapa karakter yang tidak valid yang GetInvalidPathChars() ditentukan oleh metode .
searchPattern
adalah null
.
Jalur tidak valid (misalnya, ada di drive yang tidak dipetakan).
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh berikut menunjukkan cara mendapatkan daftar file dari direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .
Keterangan
searchPattern
dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern
.
Penentu kartubebas | Cocok |
---|---|
* (tanda bintang) | Nol karakter atau lebih dalam posisi tersebut. |
? (tanda tanya) | Nol atau satu karakter dalam posisi tersebut. |
Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". String searchPattern
"s*" mencari semua nama di path
awal dengan huruf "s".
Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:
Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.
Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.
Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.
Jika tidak ada file dalam DirectoryInfo, metode ini mengembalikan array kosong.
Penentu kartubebas berikut diizinkan dalam searchPattern
parameter .
Katakter kartubebas | Deskripsi |
---|---|
* | Nol karakter atau lebih. |
? | Tepat nol atau satu karakter. |
Urutan nama file yang dikembalikan tidak dijamin; Sort gunakan metode jika urutan pengurutan tertentu diperlukan.
Kartubebas diizinkan. Misalnya, searchPattern
string "*.txt" mencari semua nama file yang memiliki ekstensi "txt". String searchPattern
"s*" mencari semua nama file yang dimulai dengan huruf "s". Jika tidak ada file, atau tidak ada file yang cocok dengan searchPattern
string dalam DirectoryInfo, metode ini mengembalikan array kosong.
Catatan
Saat menggunakan karakter kartubebas tanda bintang dalam searchPattern
(misalnya, "*.txt"), perilaku pencocokan bervariasi tergantung pada panjang ekstensi file yang ditentukan. Dengan searchPattern
ekstensi file tepat tiga karakter mengembalikan file dengan ekstensi tiga karakter atau lebih, di mana tiga karakter pertama cocok dengan ekstensi file yang ditentukan dalam searchPattern
. dengan searchPattern
ekstensi file satu, dua, atau lebih dari tiga karakter hanya mengembalikan file dengan ekstensi persis dengan panjang yang cocok dengan ekstensi file yang ditentukan dalam searchPattern
. Saat menggunakan karakter kartubebas tanda tanya, metode ini hanya mengembalikan file yang cocok dengan ekstensi file yang ditentukan. Misalnya, diberikan dua file dalam direktori, "file1.txt" dan "file1.txtother", pola pencarian "file?.txt" hanya mengembalikan file pertama, sementara pola pencarian "file*.txt" mengembalikan kedua file.
Catatan
Karena metode ini memeriksa nama file dengan format nama file 8.3 dan format nama file panjang, pola pencarian yang mirip dengan "*1*.txt" dapat mengembalikan nama file yang tidak terduga. Misalnya, menggunakan pola pencarian "*1*.txt" akan mengembalikan "longfilename.txt" karena format nama file 8.3 yang setara adalah "longf~1.txt".
Metode ini telah mengisi nilai properti berikut FileInfo :