Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DirectoryInfo.EnumerateFiles-Methode

Gibt eine aufzählbare Auflistung von Dateiinformationen im aktuellen Verzeichnis zurück.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public IEnumerable<FileInfo> EnumerateFiles()

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<FileInfo>
Eine aufzählbare Auflistung der Dateien im aktuellen Verzeichnis.

AusnahmeBedingung
DirectoryNotFoundException

Der im DirectoryInfo-Objekt gekapselte Pfad ist ungültig (z. B. befindet er sich auf einem nicht zugeordneten Laufwerk).

SecurityException

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Die Methoden EnumerateFiles und GetFiles unterscheiden sich, wie folgt:

  • Wenn Sie EnumerateFiles verwenden, können Sie das Auflisten der Auflistung von FileInfo-Objekten starten, bevor die gesamte Auflistung zurückgegeben wird.

  • Wenn Sie GetFiles verwenden, müssen Sie das Ganzarray von auf zurückgegeben werden FileInfo-Objekte warten, bevor Sie auf das Array zugreifen können.

Wenn Sie daher mit vielen Dateien und Verzeichnissen arbeiten, kann EnumerateFiles effizienter sein.

Diese Methode füllt die Werte der folgenden FileInfo-Eigenschaften vorab auf:

Die zurückgegebene Auflistung wird nicht zwischengespeichert; jeder Anruf der GetEnumerator-Methode für die Auflistung startet eine neue Enumeration.

Im folgenden Beispiel werden die Dateien unter einem angegebenen Verzeichnis aufgelistet und eine LINQ-Abfrage verwendet, um die Namen aller Dateien zurückzugeben, die vor 2009 davon erstellt wurden, indem der Wert der CreationTimeUtc-Eigenschaft überprüft wird.

Wenn Sie nur die Namen der Dateien benötigen, verwenden Sie die statische Directory-Klasse zur besseren Leistung. Ein Beispiel finden Sie unter Directory.EnumerateFiles(String).


// Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library\");

DateTime StartOf2009 = new DateTime(2009, 01, 01);

// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
		   where f.CreationTimeUtc < StartOf2009
		   select f;

// Show results.
foreach (var f in files)
{
	Console.WriteLine("{0}", f.Name);
}


Das folgende Beispiel zeigt, wie Dateien in einem Verzeichnis aufgelistet werden, indem verschiedene Suchoptionen verwendet. Das Beispiel geht ein Verzeichnis an, das die Dateien, die log1.txt, log2.txt, test1.txt, test2.txt, test3.txt und einem Unterverzeichnis, das, verfügt über eine Datei mit dem Namen SubFile.txt.


using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", 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 . . .

*/



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft