Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtige APIs
- StorageFile.GetBasicPropertiesAsync
- StorageFile.Properties
- StorageItemContentProperties.RetrievePropertiesAsync
Eigenschaften auf Top-Level, Basis- und Erweiterungsebene für eine Datei abrufen, die durch ein StorageFile-Objekt dargestellt wird.
Hinweis
Ein vollständiges Beispiel finden Sie im Dateizugriffsbeispiel.
Voraussetzungen
Grundlegendes zur asynchronen Programmierung für WinUI-Apps
Informationen zum Schreiben asynchroner Apps in C# finden Sie unter Aufrufen asynchroner APIs in C# oder Visual Basic. Informationen zum Schreiben asynchroner Apps in C++ finden Sie unter Asynchrone Programmierung in C++-.
Zugriffsberechtigungen für den Speicherort
Der Code in diesen Beispielen erfordert beispielsweise die PicturesLibrary-Funktion, aber Ihr Standort erfordert möglicherweise eine andere Funktion oder gar keine Funktion. Weitere Informationen finden Sie unter Dateizugriffsberechtigungen.
Abrufen der Eigenschaften der obersten Ebene einer Datei
Auf viele Dateieigenschaften der obersten Ebene kann als Member der StorageFile-Klasse zugegriffen werden. Zu diesen Eigenschaften gehören die Dateiattribute, der Inhaltstyp, das Erstellungsdatum, der Anzeigename, der Dateityp usw.
Hinweis
Denken Sie daran, die picturesLibrary-Funktion zu deklarieren.
In diesem Beispiel werden alle Dateien in der Bildbibliothek aufgelistet und auf einige eigenschaften der obersten Ebene jeder Datei zugegriffen.
// Enumerate all files in the Pictures library.
var folder = Windows.Storage.KnownFolders.PicturesLibrary;
var query = folder.CreateFileQuery();
var files = await query.GetFilesAsync();
foreach (Windows.Storage.StorageFile file in files)
{
StringBuilder fileProperties = new StringBuilder();
// Get top-level file properties.
fileProperties.AppendLine("File name: " + file.Name);
fileProperties.AppendLine("File type: " + file.FileType);
}
Abrufen der grundlegenden Eigenschaften einer Datei
Viele grundlegende Dateieigenschaften werden abgerufen, indem zuerst die StorageFile.GetBasicPropertiesAsync-Methode aufgerufen wird. Diese Methode gibt ein BasicProperties-Objekt zurück, das Eigenschaften für die Größe des Elements (Datei oder Ordner) sowie beim letzten Ändern des Elements definiert.
In diesem Beispiel werden alle Dateien in der Bildbibliothek aufgelistet, wobei auf einige der einfachen Eigenschaften jeder Datei zugegriffen wird.
// Enumerate all files in the Pictures library.
var folder = Windows.Storage.KnownFolders.PicturesLibrary;
var query = folder.CreateFileQuery();
var files = await query.GetFilesAsync();
foreach (Windows.Storage.StorageFile file in files)
{
StringBuilder fileProperties = new StringBuilder();
// Get file's basic properties.
Windows.Storage.FileProperties.BasicProperties basicProperties =
await file.GetBasicPropertiesAsync();
string fileSize = string.Format("{0:n0}", basicProperties.Size);
fileProperties.AppendLine("File size: " + fileSize + " bytes");
fileProperties.AppendLine("Date modified: " + basicProperties.DateModified);
}
Abrufen der erweiterten Eigenschaften einer Datei
Neben den Eigenschaften der obersten Ebene und grundlegenden Dateieigenschaften gibt es viele Eigenschaften, die dem Inhalt der Datei zugeordnet sind. Auf diese erweiterten Eigenschaften wird durch Aufrufen der BasicProperties.RetrievePropertiesAsync-Methode zugegriffen. (Ein BasicProperties-Objekt wird durch Aufrufen der StorageFile.Properties-Eigenschaft abgerufen.) Während auf oberster Ebene und grundlegende Dateieigenschaften als Eigenschaften einer Klasse – StorageFile und BasicProperties – zugegriffen werden kann, werden erweiterte Eigenschaften abgerufen, indem eine IEnumerable-Auflistung von String-Objekten übergeben wird, die die Namen der Eigenschaften darstellen, die zur BasicProperties.RetrievePropertiesAsync-Methode abgerufen werden sollen. Diese Methode gibt dann eine IDictionary-Auflistung zurück. Jede erweiterte Eigenschaft wird dann anhand des Namens oder über den Index aus der Auflistung ausgelesen.
In diesem Beispiel werden alle Dateien in der Bildbibliothek aufgelistet, die Namen der gewünschten Eigenschaften (DataAccessed und FileOwner) in einem List-Objekt angegeben, dieses List-Objekt an BasicProperties.RetrievePropertiesAsync übergeben, um diese Eigenschaften abzurufen, und anschließend diese Eigenschaften anhand des Namens aus dem zurückgegebenen IDictionary-Objekt abgerufen.
Eine vollständige Liste der erweiterten Eigenschaften einer Datei finden Sie in den Windows Core-Eigenschaften .
const string dateAccessedProperty = "System.DateAccessed";
const string fileOwnerProperty = "System.FileOwner";
// Enumerate all files in the Pictures library.
var folder = KnownFolders.PicturesLibrary;
var query = folder.CreateFileQuery();
var files = await query.GetFilesAsync();
foreach (Windows.Storage.StorageFile file in files)
{
StringBuilder fileProperties = new StringBuilder();
// Define property names to be retrieved.
var propertyNames = new List<string>();
propertyNames.Add(dateAccessedProperty);
propertyNames.Add(fileOwnerProperty);
// Get extended properties.
IDictionary<string, object> extraProperties =
await file.Properties.RetrievePropertiesAsync(propertyNames);
// Get date-accessed property.
var propValue = extraProperties[dateAccessedProperty];
if (propValue != null)
{
fileProperties.AppendLine("Date accessed: " + propValue);
}
// Get file-owner property.
propValue = extraProperties[fileOwnerProperty];
if (propValue != null)
{
fileProperties.AppendLine("File owner: " + propValue);
}
}
Windows developer