Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las APIs importantes
- StorageFile.GetBasicPropertiesAsync
- StorageFile.Properties
- StorageItemContentProperties.RetrievePropertiesAsync
Obtiene propiedades (nivel superior, básico y extendido) para un archivo representado por un objeto StorageFile.
Prerrequisitos
Comprender la programación asincrónica para aplicaciones para la Plataforma universal de Windows (UWP)
Puede aprender a escribir aplicaciones asincrónicas en C# o Visual Basic, consulte Llamada a API asincrónicas en C# o Visual Basic. Para obtener información sobre cómo escribir aplicaciones asincrónicas en C++, consulte programación asincrónica en C++.
Permisos de acceso a la ubicación
Por ejemplo, el código de estos ejemplos requiere la funcionalidad picturesLibrary, pero la ubicación puede requerir una funcionalidad diferente o ninguna funcionalidad. Para obtener más información, consulte Permisos de Acceso a Archivos.
Obtención de las propiedades de nivel superior de un archivo
Muchas propiedades de archivo de alto nivel son accesibles como miembros de la clase StorageFile. Estas propiedades incluyen los atributos de los archivos, el tipo de contenido, la fecha de creación, el nombre para mostrar, el tipo de archivo, etc.
Nota:
Recuerde declarar la funcionalidad de picturesLibrary.
En este ejemplo se enumeran todos los archivos de la biblioteca imágenes, con acceso a algunas de las propiedades de nivel superior de cada archivo.
// 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);
}
Obtención de las propiedades básicas de un archivo
Muchas propiedades básicas de archivo se obtienen llamando primero al método
En este ejemplo se enumeran todos los archivos de la biblioteca imágenes, con acceso a algunas de las propiedades básicas de cada archivo.
// 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);
}
Obtención de las propiedades extendidas de un archivo
Aparte de las propiedades de archivo de nivel superior y básico, hay muchas propiedades asociadas al contenido del archivo. Para acceder a estas propiedades extendidas, se llama al método BasicProperties.RetrievePropertiesAsync. (Se obtiene un objeto
En este ejemplo se enumeran todos los archivos de la biblioteca Imágenes, se especifican los nombres de las propiedades deseadas (
Consulta las Propiedades principales de Windows para obtener una lista completa de las propiedades extendidas de un archivo.
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);
}
}