Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
API Importanti
- StorageFile.GetBasicPropertiesAsync
- FileDiMemorizzazione.Proprietà
- StorageItemContentProperties.RetrievePropertiesAsync
Ottenere proprietà, di primo livello, di base e estese, per un file rappresentato da un oggetto StorageFile .
Prerequisiti
Informazioni sulla programmazione asincrona per le app UWP (Universal Windows Platform)
Per informazioni su come scrivere app asincrone in C# o Visual Basic, vedere Chiamare API asincrone in C# o Visual Basic. Per informazioni su come scrivere app asincrone in C++, vedere Programmazione asincrona in C++.
Autorizzazioni di accesso alla posizione
Ad esempio, il codice in questi esempi richiede la funzionalità picturesLibrary , ma la posizione potrebbe richiedere una funzionalità diversa o nessuna funzionalità. Per altre informazioni, vedere Autorizzazioni di accesso ai file.
Ottenimento delle proprietà di primo livello di un file
Molte proprietà di file di primo livello sono accessibili come membri della classe StorageFile . Queste proprietà includono gli attributi dei file, il tipo di contenuto, la data di creazione, il nome visualizzato, il tipo di file e così via.
Annotazioni
Ricorda di dichiarare la funzionalità picturesLibrary.
Questo esempio enumera tutti i file nella raccolta Immagini, accedendo ad alcune delle proprietà di primo livello di ogni file.
// 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);
}
Recupero delle proprietà di base di un file
Molte proprietà di file di base vengono ottenute chiamando prima il metodo StorageFile.GetBasicPropertiesAsync . Questo metodo restituisce un oggetto BasicProperties , che definisce le proprietà per le dimensioni dell'elemento (file o cartella) e dell'ultima modifica dell'elemento.
Questo esempio enumera tutti i file nella raccolta Immagini, accedendo ad alcune delle proprietà di base di ogni file.
// 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);
}
Ottenere le proprietà estese di un file
A parte le proprietà di primo livello e di base dei file, esistono molte proprietà associate al contenuto del file. Queste proprietà estese sono accessibili chiamando il metodo BasicProperties.RetrievePropertiesAsync . Un oggetto
In questo esempio vengono enumerati tutti i file nella raccolta Immagini, specifica i nomi delle proprietà desiderate (DataAccessed e FileOwner) in un oggetto List, passa tale oggetto List a BasicProperties.RetrievePropertiesAsync per recuperare tali proprietà e quindi recupera tali proprietà in base al nome dall'oggetto IDictionary restituito.
Per un elenco completo delle proprietà estese di un file, vedi Le proprietà principali di Windows.
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);
}
}