Bagikan melalui


DirectoryInfo.GetFiles Metode

Definisi

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 .

searchPatternadalah 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 .

searchPatternadalah 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 :

  1. Attributes

  2. CreationTime

  3. CreationTimeUtc

  4. LastAccessTime

  5. LastAccessTimeUtc

  6. LastWriteTime

  7. LastWriteTimeUtc

  8. Length

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 .

searchPatternadalah 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 :

Lihat juga

Berlaku untuk