Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
viktiga API:er
- StorageFile.GetBasicPropertiesAsync
- Lagringsfil.Egenskaper
- StorageItemContentProperties.RetrievePropertiesAsync
Hämta egenskaper – toppnivå, grundläggande och utökad – för en fil som representeras av ett StorageFile--objekt.
Anmärkning
För ett fullständigt exempel, se filåtkomstexempel.
Förutsättningar
Förstå asynkron programmering för UWP-appar (Universal Windows Platform)
Du kan lära dig hur du skriver asynkrona appar i C# eller Visual Basic, se Anropa asynkrona API:er i C# eller Visual Basic. Mer information om hur du skriver asynkrona appar i C++finns i Asynkron programmering i C++.
Åtkomstbehörigheter till platsen
Koden i de här exemplen kräver till exempel funktionen picturesLibrary, men din plats kan kräva en annan funktion eller ingen funktion alls. Mer information finns i Behörigheter för filåtkomst.
Hämta en fils egenskaper på den översta nivån
Många filegenskaper på den översta nivån är tillgängliga som medlemmar i klassen StorageFile. Dessa egenskaper omfattar filattribut, innehållstyp, skapandedatum, visningsnamn, filtyp och så vidare.
Anmärkning
Kom ihåg att deklarera funktionen picturesLibrary.
I det här exemplet räknas alla filer i biblioteket Bilder upp med åtkomst till några av varje fils egenskaper på den översta nivån.
// 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);
}
Filens grundläggande egenskaper
Många grundläggande filegenskaper hämtas genom att först anropa metoden StorageFile.GetBasicPropertiesAsync. Den här metoden returnerar ett BasicProperties- objekt, som definierar egenskaper för objektets storlek (fil eller mapp) samt när objektet senast ändrades.
I det här exemplet räknas alla filer i biblioteket Bilder upp med åtkomst till några av varje fils grundläggande egenskaper.
// 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);
}
Hämta filens utökade egenskaper
Förutom de översta och grundläggande filegenskaperna finns det många egenskaper som är associerade med filens innehåll. Dessa utökade egenskaper nås genom att anropa metoden BasicProperties.RetrievePropertiesAsync. (Ett BasicProperties-objekt hämtas genom att anropa egenskapen StorageFile.Properties.) Även om egenskaper på den översta nivån och de grundläggande filegenskaperna är tillgängliga som egenskaper för en klass –StorageFile och BasicProperties– hämtas utökade egenskaper genom att skicka en IEnumerable-samling av String-objekt som representerar namnen på de egenskaper som ska hämtas till metoden BasicProperties.RetrievePropertiesAsync. Den här metoden returnerar sedan en IDictionary- samling. Varje utökad egenskap hämtas sedan från samlingen efter namn eller index.
I det här exemplet räknas alla filer i biblioteket Bilder upp. anger namnen på önskade egenskaper (DataAccessed och FileOwner) i ett List-objekt, skickar det List-objektet till BasicProperties.RetrievePropertiesAsync för att hämta dessa egenskaper och hämtar sedan dessa egenskaper efter namn från det returnerade objektet IDictionary.
Se Windows Core-egenskaper för en fullständig lista över en fils utökade egenskaper.
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);
}
}