Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APIs importantes
- StorageFile.GetBasicPropertiesAsync
- Propriedades do StorageFile
- StorageItemContentProperties.RetrievePropertiesAsync
Obtenha propriedades de nível superior, básico e estendido para um arquivo representado por um objeto StorageFile.
Pré-requisitos
Entenda a programação assíncrona para aplicativos da Plataforma Universal do Windows (UWP)
Você pode aprender a escrever aplicativos assíncronos no C# ou no Visual Basic, consulte Chamar APIs assíncronas no C# ou no Visual Basic. Para saber como escrever aplicativos assíncronos no C++, consulte programação assíncrona no C++.
Permissões de acesso ao local
Por exemplo, o código nesses exemplos requer a funcionalidade picturesLibrary, mas sua localização pode exigir uma funcionalidade diferente ou nenhuma funcionalidade. Para saber mais, consulte Permissões de acesso a arquivos.
Obtendo as propriedades de nível superior de um arquivo
Muitas propriedades de arquivo de nível superior são acessíveis como membros da classe StorageFile. Essas propriedades incluem os atributos de arquivos, o tipo de conteúdo, a data de criação, o nome de exibição, o tipo de arquivo e assim por diante.
Observação
Lembre-se de declarar a funcionalidade picturesLibrary.
Este exemplo enumera todos os arquivos na biblioteca Imagens, acessando algumas das propriedades de nível superior de cada arquivo.
// 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);
}
Obtendo as propriedades básicas de um arquivo
Muitas propriedades básicas de arquivo são obtidas primeiro chamando o método
Este exemplo enumera todos os arquivos na biblioteca Imagens, acessando algumas das propriedades básicas de cada arquivo.
// 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);
}
Obtendo as propriedades estendidas de um arquivo
Além das propriedades de arquivo básicas e de nível superior, há muitas propriedades associadas ao conteúdo do arquivo. Essas propriedades estendidas são acessadas chamando o método
Este exemplo enumera todos os arquivos na biblioteca Imagens, especifica os nomes das propriedades desejadas (DataAccessed e FileOwner) em um objeto Lista , passa esse objeto List para BasicProperties.RetrievePropertiesAsync para recuperar essas propriedades e, em seguida, recupera essas propriedades pelo nome do objeto IDictionary retornado.
Consulte as propriedades do Windows Core para obter uma lista completa das propriedades estendidas de um arquivo.
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);
}
}