Windows Dev Center

Language: HTML | XAML

Schnellstart: Programmgesteuerter Dateizugriff (XAML)

Greifen Sie auf Dateien und Ordner zu, die sich an einem bestimmten Speicherort wie einem Ordner, einer Bibliothek, einem Gerät oder einer Netzwerkadresse befinden. Sie können auch durch Erstellen von Datei- und Ordnerabfragen Dateien und Ordner an bestimmten Speicherorten abrufen.

Roadmap: Wie hängt dieses Thema mit anderen zusammen? Informationen finden Sie unter:

Voraussetzungen

Auflisten der Dateien und Ordner an einem Speicherort

Im folgenden Beispiel wird die StorageFolder.GetFilesAsync-Methode verwendet, um alle Dateien in PicturesLibrary abzurufen, und die Namen der einzelnen Dateien werden aufgelistet. Als nächstes wird die GetFoldersAsync-Methode verwendet, um alle Ordner in PicturesLibrary abzurufen, und die Namen der einzelnen Ordner werden aufgelistet.


StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
StringBuilder outputText = new StringBuilder();

IReadOnlyList<StorageFile> fileList = 
    await picturesFolder.GetFilesAsync();

outputText.AppendLine("Files:");
foreach (StorageFile file in fileList)
{
    outputText.Append(file.Name + "\n");
}

IReadOnlyList<StorageFolder> folderList = 
    await picturesFolder.GetFoldersAsync();
           
outputText.AppendLine("Folders:");
foreach (StorageFolder folder in folderList)
{
    outputText.Append(folder.DisplayName + "\n");
}


Hinweis  Denken Sie in C# oder Visual Basic daran, das async-Schlüsselwort in der Methodendeklaration aller Methoden anzugeben, in denen Sie den await-Operator verwenden. Weitere Infos finden Sie unter Schnellstart: Aufrufen asynchroner APIs in C# oder Visual Basic.

Alternativ können Sie die GetItemsAsync-Methode verwenden, um die Dateien und Ordner an einem bestimmten Speicherort abzurufen. Im folgenden Beispiel wird die GetItemsAsync-Methode verwendet, um alle Dateien und Ordner in PicturesLibrary abzurufen. Anschließend werden die Namen der einzelnen Dateien oder Ordner aufgelistet. Wenn das Element ein Ordner ist, wird dem Namen die Zeichenfolge "folder" angefügt.


StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
StringBuilder outputText = new StringBuilder();

IReadOnlyList<IStorageItem> itemsList = 
    await picturesFolder.GetItemsAsync();

foreach (var item in itemsList)
{
    if (item is StorageFolder)
    {
        outputText.Append(item.Name + " folder\n");

    }
    else
    {
        outputText.Append(item.Name + "\n");

    }
}


Abfragen von Dateien aus einem Speicherort und Auflisten der entsprechenden Dateien

Im folgenden Beispiel werden die Dateien in PicturesLibrary abgerufen und nach Monaten gruppiert. Das Beispiel erstellt ein StorageFolderQueryResult-Objekt, indem es StorageFolder.CreateFolderQuery aufruft und den CommonFolderQuery.GroupByMonth-Wert der Methode übergibt. Anschließend wird StorageFolderQueryResult.GetFoldersAsync aufgerufen. Die Ergebnisse von GetFoldersAsync sind virtuelle Ordner (StorageFolder-Objekte), die auf dem CommonFolderQuery-Wert basieren. Dabei sind die Dateien in PicturesLibrary und den Unterordnern in den virtuellen Ordnern gruppiert.



StorageFolder picturesFolder = KnownFolders.PicturesLibrary;

StorageFolderQueryResult queryResult = 
    picturesFolder.CreateFolderQuery(CommonFolderQuery.GroupByMonth);
           
IReadOnlyList<StorageFolder> folderList = 
    await queryResult.GetFoldersAsync();

StringBuilder outputText = new StringBuilder();

foreach (StorageFolder folder in folderList)
{
    IReadOnlyList<StorageFile> fileList = await folder.GetFilesAsync();

    // Print the month and number of files in this group.
    outputText.AppendLine(folder.Name + " (" + fileList.Count + ")");

    foreach (StorageFile file in fileList)
    {
        // Print the name of the file.
        outputText.AppendLine("   " + file.Name);
    }
}


Hinweis  Denken Sie in C# oder Visual Basic daran, das async-Schlüsselwort in der Methodendeklaration aller Methoden anzugeben, in denen Sie den await-Operator verwenden. Weitere Infos finden Sie unter Schnellstart: Aufrufen asynchroner APIs in C# oder Visual Basic.

Die Ausgabe des Beispiels sieht in etwa wie die folgende aus.

February ‎2012 (2)
   MyImage3.png
   MyImage4.png
‎November ‎2011 (2)
   MyImage1.png
   MyImage2.png

Zusammenfassung und nächste Schritte

Informationen zum Lesen und Schreiben von Dateien finden Sie in Schnellstart: Lesen und Schreiben einer Datei und im Beispiel zum Dateizugriff. Weitere Informationen zur Arbeit mit Bilddateien erhalten Sie in Schnellstart: Image und ImageBrush, Schnellstart: Bildverarbeitung und dem XAML-Bildbeispiel.

Weitere Informationen über den Zugriff auf Dateien mithilfe der Dateiauswahl finden Sie unter Schnellstart: Dateizugriff mit Dateiauswahl.

Verwandte Themen

Zugreifen auf Daten und Dateien
Schnellstart: Dateizugriff mit Dateiauswahl
Schnellstart: Lesen und Schreiben einer Datei
Dateizugriff und Berechtigungen
Beispiel für programmgesteuerte Dateisuche
Beispiel für Ordnerenumeration
Beispiel zum Dateizugriff
XAML-Bildbeispiel
Referenz
Windows.Storage.KnownFolders class
Windows.Storage.StorageFile class
Windows.Storage.StorageFolder class
Windows.Storage.StorageItemTypes enum
Windows.Storage.Search.CommonFolderQuery enum
Windows.Storage.Search.StorageFolderQueryResult class

 

 

Anzeigen:
© 2015 Microsoft