StorageFolder.GetFilesAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
GetFilesAsync() |
Obtiene los archivos de la carpeta actual. |
GetFilesAsync(CommonFileQuery) |
Obtiene los archivos de la carpeta actual. Obtiene también los archivos de las subcarpetas de la carpeta actual cuando el valor del argumento de consulta es algo distinto de CommonFileQuery.DefaultQuery. Los archivos se ordenan según el valor especificado de la enumeración CommonFileQuery . |
GetFilesAsync(CommonFileQuery, UInt32, UInt32) |
Obtiene un intervalo de archivos basado en índices de la lista de todos los archivos de la carpeta actual. Obtiene también los archivos de las subcarpetas de la carpeta actual cuando el valor del argumento de consulta es algo distinto de CommonFileQuery.DefaultQuery. Los archivos se ordenan según el valor especificado de la enumeración CommonFileQuery . |
GetFilesAsync()
Obtiene los archivos de la carpeta actual.
public:
virtual IAsyncOperation<IVectorView<StorageFile ^> ^> ^ GetFilesAsync() = GetFilesAsync;
/// [Windows.Foundation.Metadata.Overload("GetFilesAsyncOverloadDefaultOptionsStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFile>> GetFilesAsync();
[Windows.Foundation.Metadata.Overload("GetFilesAsyncOverloadDefaultOptionsStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFile>> GetFilesAsync();
function getFilesAsync()
Public Function GetFilesAsync () As IAsyncOperation(Of IReadOnlyList(Of StorageFile))
Devoluciones
Cuando este método se completa correctamente, devuelve una lista de los archivos de la carpeta actual. La lista es de tipo IReadOnlyList<StorageFile>. Cada archivo de la lista se representa mediante un objeto StorageFile .
Implementaciones
- Atributos
Excepciones
No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.
Ejemplos
En el ejemplo siguiente se muestra cómo obtener el contenido de la carpeta Pictures del usuario y sus subcarpetas, ordenadas por fecha, llamando al método sobrecargado GetFilesAsync(CommonFileQuery, UInt32, UInt32). En este ejemplo se devuelve un máximo de 20 archivos, empezando por el archivo en el índice 0. Dado que la opción CommonFileQuery.OrderByDate ordena las fechas en orden descendente (es decir, de la más reciente a la más antigua), en este ejemplo se devuelven las 20 fotos más recientes del usuario.
Antes de ejecutar el ejemplo siguiente, habilite la funcionalidad Biblioteca de imágenes en el archivo de manifiesto de la aplicación.
using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.
// Get the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
// Get the first 20 files in the current folder, sorted by date.
IReadOnlyList<StorageFile> sortedItems = await picturesFolder.GetFilesAsync(CommonFileQuery.OrderByDate,0,20);
// Iterate over the results and print the list of files
// to the Visual Studio Output window.
foreach (StorageFile file in sortedItems)
Debug.WriteLine(file.Name + ", " + file.DateCreated);
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Storage.Search.h>
...
IAsyncAction ExampleCoroutineAsync()
{
// Get the user's Pictures library.
// Enable the Pictures Library capability in the app manifest file.
Windows::Storage::StorageFolder picturesLibrary{ Windows::Storage::KnownFolders::PicturesLibrary() };
// Get the first 20 sorted images in the library, sorted by date.
Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFile> filesInFolder{
co_await picturesLibrary.GetFilesAsync(Windows::Storage::Search::CommonFileQuery::OrderByDate, 0, 20) };
// Iterate over the results, and print the list of files to the Visual Studio output window.
for (Windows::Storage::StorageFile const& fileInFolder : filesInFolder)
{
std::wstring output{ fileInFolder.Name() + L' ' };
::OutputDebugString(output.c_str());
}
::OutputDebugString(L"\n");
}
// Get user's pictures library
StorageFolder^ picturesLibrary = KnownFolders::PicturesLibrary;
// Get the first 20 sorted images in the library
create_task(picturesLibrary->GetFilesAsync(CommonFileQuery::OrderByDate,0,20)).then([=](IVectorView<StorageFile^>^ filesInFolder) {
//Iterate over the results and print the list of files
// to the visual studio output window
for (auto it = filesInFolder->First(); it->HasCurrent; it->MoveNext())
{
StorageFile^ file = it->Current;
String^ output = file->Name + "\n";
OutputDebugString(output->Begin());
}
});
Comentarios
Esta consulta es una consulta superficial que devuelve solo los archivos de la carpeta actual. Para obtener una lista de métodos que identifican consultas poco profundas y consultas profundas, vea los comentarios del tema GetFilesAsync.
En la tabla siguiente se enumeran los métodos de la clase StorageFolder que obtienen una lista de archivos. La tabla identifica consultas poco profundas que solo devuelven archivos de la carpeta actual y consultas profundas que devuelven archivos de la carpeta actual y de sus subcarpetas.
Algunos métodos toman un valor de la enumeración CommonFileQuery . Al especificar la opción DefaultQuery de la enumeración CommonFileQuery , la consulta es una consulta superficial que devuelve solo los archivos de la carpeta actual. Cuando se especifica otro valor de la enumeración CommonFileQuery , la consulta es una consulta profunda que devuelve una lista plana de archivos de la carpeta actual y de sus subcarpetas.
Sugerencia
Algunos de los valores de la enumeración CommonFileQuery solo se pueden usar con una carpeta de biblioteca (como la biblioteca imágenes) o la carpeta Grupo hogar. Además de la opción DefaultQuery , solo puede usar las opciones OrderByName y OrderBySearchRank con una carpeta que no sea una carpeta de biblioteca.
Para obtener resultados de consultas profundas de una carpeta que no es una carpeta de biblioteca, llame al método CreateFileQueryWithOptions(QueryOptions) y especifique Deep como valor de la propiedad FolderDepth del objeto QueryOptions .
Método | Cree una consulta superficial que solo devuelva archivos de la carpeta actual. | Cree una consulta profunda que devuelva archivos de la carpeta actual y de sus subcarpetas. |
---|---|---|
GetFilesAsync() | Comportamiento predeterminado de este método. | N/D |
GetFilesAsync(CommonFileQuery) | Especifique la opción DefaultQuery . | Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery. |
GetFilesAsync(CommonFileQuery, UInt32, UInt32) | Especifique la opción DefaultQuery . | Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery. |
CreateFileQuery() | Comportamiento predeterminado de este método. | N/D |
CreateFileQuery(CommonFileQuery) | Especifique la opción DefaultQuery . | Para una carpeta de biblioteca, especifique una opción distinta de DefaultQuery. |
CreateFileQueryWithOptions(QueryOptions) | Comportamiento predeterminado de este método si no se especifica ninguna de las siguientes opciones. O bien Especifique DefaultQuery como valor de CommonFileQuery al crear una instancia del objeto QueryOptions . O bien Especifique Superficial como valor de la propiedad FolderDepth del objeto QueryOptions . |
Para una carpeta de biblioteca, especifique un valor distinto de DefaultQuery como valor de CommonFileQuery al crear una instancia del objeto QueryOptions . O bien Para cualquier carpeta, especifique Deep como el valor de la propiedad FolderDepth de QueryOptions. |
Consulte también
- GetFilesAsync(CommonFileQuery, UInt32, UInt32)
- GetFilesAsync(CommonFileQuery)
- Permisos de acceso a archivos
- GetItemsAsync
Se aplica a
GetFilesAsync(CommonFileQuery)
Obtiene los archivos de la carpeta actual. Obtiene también los archivos de las subcarpetas de la carpeta actual cuando el valor del argumento de consulta es algo distinto de CommonFileQuery.DefaultQuery. Los archivos se ordenan según el valor especificado de la enumeración CommonFileQuery .
public:
virtual IAsyncOperation<IVectorView<StorageFile ^> ^> ^ GetFilesAsync(CommonFileQuery query) = GetFilesAsync;
/// [Windows.Foundation.Metadata.Overload("GetFilesAsyncOverloadDefaultStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFile>> GetFilesAsync(CommonFileQuery const& query);
[Windows.Foundation.Metadata.Overload("GetFilesAsyncOverloadDefaultStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFile>> GetFilesAsync(CommonFileQuery query);
function getFilesAsync(query)
Public Function GetFilesAsync (query As CommonFileQuery) As IAsyncOperation(Of IReadOnlyList(Of StorageFile))
Parámetros
- query
- CommonFileQuery
Uno de los valores de enumeración que especifica cómo ordenar los archivos y determina si la consulta es superficial o profunda.
Devoluciones
Cuando este método se completa correctamente, devuelve una lista plana de archivos, ordenado según lo especificado por la consulta. La lista es de tipo IReadOnlyList<StorageFile>. Cada archivo de la lista se representa mediante un objeto StorageFile .
Implementaciones
- Atributos
Excepciones
No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.
Consulte también
- GetFilesAsync(CommonFileQuery, UInt32, UInt32)
- GetFilesAsync()
- Permisos de acceso a archivos
- GetItemsAsync
Se aplica a
GetFilesAsync(CommonFileQuery, UInt32, UInt32)
Obtiene un intervalo de archivos basado en índices de la lista de todos los archivos de la carpeta actual. Obtiene también los archivos de las subcarpetas de la carpeta actual cuando el valor del argumento de consulta es algo distinto de CommonFileQuery.DefaultQuery. Los archivos se ordenan según el valor especificado de la enumeración CommonFileQuery .
public:
virtual IAsyncOperation<IVectorView<StorageFile ^> ^> ^ GetFilesAsync(CommonFileQuery query, unsigned int startIndex, unsigned int maxItemsToRetrieve) = GetFilesAsync;
/// [Windows.Foundation.Metadata.Overload("GetFilesAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFile>> GetFilesAsync(CommonFileQuery const& query, uint32_t const& startIndex, uint32_t const& maxItemsToRetrieve);
[Windows.Foundation.Metadata.Overload("GetFilesAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFile>> GetFilesAsync(CommonFileQuery query, uint startIndex, uint maxItemsToRetrieve);
function getFilesAsync(query, startIndex, maxItemsToRetrieve)
Public Function GetFilesAsync (query As CommonFileQuery, startIndex As UInteger, maxItemsToRetrieve As UInteger) As IAsyncOperation(Of IReadOnlyList(Of StorageFile))
Parámetros
- query
- CommonFileQuery
Uno de los valores de enumeración que especifica cómo ordenar los archivos y determina si la consulta es superficial o profunda.
- startIndex
-
UInt32
unsigned int
uint32_t
Índice de base cero del primer archivo del intervalo que se va a recuperar.
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
Número máximo de archivos que se van a recuperar.
Devoluciones
Cuando este método se completa correctamente, devuelve una lista plana de archivos ordenados según lo especificado por la consulta. La lista es de tipo IReadOnlyList<StorageFile>. Cada archivo de la lista se representa mediante un objeto StorageFile .
Implementaciones
- Atributos
Excepciones
No tiene permiso para acceder al contenido de la carpeta actual. Para obtener más información, consulte Permisos de acceso a archivos.