Поделиться через


StorageFolder.GetFilesAsync Метод

Определение

Перегрузки

GetFilesAsync()

Возвращает файлы в текущей папке.

GetFilesAsync(CommonFileQuery)

Возвращает файлы в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются по указанному значению перечисления CommonFileQuery .

GetFilesAsync(CommonFileQuery, UInt32, UInt32)

Возвращает диапазон файлов на основе индекса из списка всех файлов в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются по указанному значению перечисления CommonFileQuery .

GetFilesAsync()

Возвращает файлы в текущей папке.

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))

Возвращаемое значение

После успешного завершения этого метода возвращается список файлов в текущей папке. Список имеет тип IReadOnlyList<StorageFile>. Каждый файл в списке представлен объектом StorageFile .

Реализации

Атрибуты

Исключения

У вас нет разрешения на доступ к содержимому текущей папки. Дополнительные сведения см. в разделе Разрешения на доступ к файлам.

Примеры

В следующем примере показано, как получить содержимое папки "Изображения" пользователя и ее вложенных папок, отсортированных по дате, путем вызова перегруженного метода GetFilesAsync(CommonFileQuery, UInt32, UInt32). В этом примере возвращается не более 20 файлов, начиная с файла с индексом 0. Так как параметр CommonFileQuery.OrderByDate сортирует даты по убыванию (т. е. от самых новых к старым), этот пример возвращает 20 последних фотографий пользователя.

Перед выполнением следующего примера включите возможность "Библиотека рисунков" в файле манифеста приложения.

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());
 }
});

Комментарии

Этот запрос является неглубоким запросом, который возвращает только файлы в текущей папке. Список методов, определяющих неглубокие запросы и глубокие запросы, см. в разделе Примечания в разделе GetFilesAsync.

В следующей таблице перечислены методы класса StorageFolder , которые получают список файлов. Таблица определяет мелкие запросы, которые возвращают только файлы из текущей папки, и глубокие запросы, возвращающие файлы из текущей папки и ее вложенных папок.

Некоторые методы принимают значение из перечисления CommonFileQuery . При указании параметра DefaultQuery из перечисления CommonFileQuery запрос представляет собой неглубокий запрос, возвращающий только файлы в текущей папке. При указании другого значения из перечисления CommonFileQuery запрос представляет собой глубокий запрос, который возвращает плоский список файлов из текущей папки и ее вложенных папок.

Совет

Некоторые значения перечисления CommonFileQuery можно использовать только с папкой библиотеки (например, с папкой "Изображения") или домашней группой. В дополнение к параметру DefaultQuery можно использовать только параметры OrderByName и OrderBySearchRank с папкой, которая не является папкой библиотеки.

Чтобы получить результаты глубокого запроса из папки, которая не является папкой библиотеки, вызовите метод CreateFileQueryWithOptions(QueryOptions) и укажите Deep в качестве значения свойства FolderDepth объекта QueryOptions .

Метод Создание неглубокого запроса, который возвращает только файлы из текущей папки. Создание глубокого запроса, который возвращает файлы из текущей папки и ее вложенных папок.
GetFilesAsync() Поведение этого метода по умолчанию. Н/Д
GetFilesAsync(CommonFileQuery) Укажите параметр DefaultQuery . Для папки библиотеки укажите параметр, отличный от DefaultQuery.
GetFilesAsync(CommonFileQuery, UInt32, UInt32) Укажите параметр DefaultQuery . Для папки библиотеки укажите параметр, отличный от DefaultQuery.
CreateFileQuery() Поведение этого метода по умолчанию. Н/Д
CreateFileQuery(CommonFileQuery) Укажите параметр DefaultQuery . Для папки библиотеки укажите параметр, отличный от DefaultQuery.
CreateFileQueryWithOptions(QueryOptions) Поведение этого метода по умолчанию, если ни один из следующих параметров не указан.
— или —
Укажите DefaultQuery в качестве значения CommonFileQuery при создании экземпляра объекта QueryOptions .
— или —
Укажите значение Shallow в качестве значения свойства FolderDepth объекта QueryOptions .
Для папки библиотеки при создании экземпляра объекта QueryOptions укажите значение, отличное от DefaultQuery, в качестве значения CommonFileQuery.
— или —
Для любой папки укажите Deep в качестве значения свойства FolderDepthобъекта QueryOptions.

См. также раздел

Применяется к

GetFilesAsync(CommonFileQuery)

Возвращает файлы в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются по указанному значению перечисления 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))

Параметры

query
CommonFileQuery

Одно из значений перечисления, которое указывает способ сортировки файлов и определяет, является ли запрос неглубоким или глубоким.

Возвращаемое значение

После успешного завершения этого метода возвращается неструктурированный список файлов, отсортированных в соответствии с запросом. Список имеет тип IReadOnlyList<StorageFile>. Каждый файл в списке представлен объектом StorageFile .

Реализации

Атрибуты

Исключения

У вас нет разрешения на доступ к содержимому текущей папки. Дополнительные сведения см. в разделе Разрешения на доступ к файлам.

См. также раздел

Применяется к

GetFilesAsync(CommonFileQuery, UInt32, UInt32)

Возвращает диапазон файлов на основе индекса из списка всех файлов в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются по указанному значению перечисления 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))

Параметры

query
CommonFileQuery

Одно из значений перечисления, которое указывает способ сортировки файлов и определяет, является ли запрос неглубоким или глубоким.

startIndex
UInt32

unsigned int

uint32_t

Отсчитываемый от нуля индекс первого файла в диапазоне для извлечения.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

Максимальное количество извлекаемых файлов.

Возвращаемое значение

После успешного завершения этого метода возвращается неструктурированный список файлов, отсортированных в соответствии с запросом. Список имеет тип IReadOnlyList<StorageFile>. Каждый файл в списке представлен объектом StorageFile .

Реализации

M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFilesAsync(Windows.Storage.Search.CommonFileQuery,System.UInt32,System.UInt32) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFilesAsync(Windows.Storage.Search.CommonFileQuery,unsigned int,unsigned int) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFilesAsync(Windows.Storage.Search.CommonFileQuery,uint32_t,uint32_t)
Атрибуты

Исключения

У вас нет разрешения на доступ к содержимому текущей папки. Дополнительные сведения см. в разделе Разрешения на доступ к файлам.

См. также раздел

Применяется к