StorageFolder.CreateFileQuery Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
CreateFileQuery() |
Возвращает объект результата запроса, содержащий файлы в текущей папке. |
CreateFileQuery(CommonFileQuery) |
Возвращает объект результата запроса, содержащий файлы в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются на основе указанного CommonFileQuery. |
CreateFileQuery()
Возвращает объект результата запроса, содержащий файлы в текущей папке.
public:
virtual StorageFileQueryResult ^ CreateFileQuery() = CreateFileQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFileQueryOverloadDefault")]
StorageFileQueryResult CreateFileQuery();
[Windows.Foundation.Metadata.Overload("CreateFileQueryOverloadDefault")]
public StorageFileQueryResult CreateFileQuery();
function createFileQuery()
Public Function CreateFileQuery () As StorageFileQueryResult
Возвращаемое значение
Объект результата запроса. Вызовите метод GetFilesAsync результата запроса, чтобы получить неструктурированный список файлов. Этот метод возвращает список типа IReadOnlyList<StorageFile>. Каждый файл представлен элементом типа StorageFile.
Реализации
- Атрибуты
Примеры
В следующем примере возвращается объект результата запроса, содержащий файлы в текущей папке, путем вызова метода CreateFileQuery().
using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.
// Get the app's installation folder.
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
// Get the files in the current folder.
StorageFileQueryResult results = appFolder.CreateFileQuery();
// Iterate over the results and print the list of files
// to the Visual Studio Output window.
IReadOnlyList<StorageFile> filesInFolder = await results.GetFilesAsync();
foreach (StorageFile item in filesInFolder)
{
Debug.WriteLine(item.Name);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
// Get the app's installation folder.
Windows::Storage::StorageFolder appFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };
// Get the files in the current folder.
Windows::Storage::Search::StorageFileQueryResult results{ appFolder.CreateFileQuery() };
Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFile> filesInFolder{
co_await results.GetFilesAsync() };
// Iterate over the results, and print the list of files to the Visual Studio output window.
for (StorageFile const& fileInFolder : filesInFolder)
{
std::wstring output{ fileInFolder.Name() };
::OutputDebugString(output.c_str());
}
}
//Get the app's installation folder
StorageFolder^ appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;
//Get the files in the current folder
StorageFileQueryResult^ results = appFolder->CreateFileQuery();
create_task(results->GetFilesAsync()).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.
Вы также можете асинхронно получить список файлов в текущей папке, вызвав один из методов GetFilesAsync .
Чтобы указать дополнительные параметры запроса, вызовите метод CreateFileQueryWithOptions .
Чтобы получить элементы, которые являются файлами или папками, вызовите метод CreateItemQuery .
См. также раздел
Применяется к
CreateFileQuery(CommonFileQuery)
Возвращает объект результата запроса, содержащий файлы в текущей папке. Также получает файлы из вложенных папок текущей папки, если значение аргумента запроса отличается от CommonFileQuery.DefaultQuery. Файлы сортируются на основе указанного CommonFileQuery.
public:
virtual StorageFileQueryResult ^ CreateFileQuery(CommonFileQuery query) = CreateFileQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFileQuery")]
StorageFileQueryResult CreateFileQuery(CommonFileQuery const& query);
[Windows.Foundation.Metadata.Overload("CreateFileQuery")]
public StorageFileQueryResult CreateFileQuery(CommonFileQuery query);
function createFileQuery(query)
Public Function CreateFileQuery (query As CommonFileQuery) As StorageFileQueryResult
Параметры
- query
- CommonFileQuery
Одно из значений перечисления, указывающее способ сортировки файлов и определяющее, является ли запрос неглубоким или глубоким.
Возвращаемое значение
Объект результата запроса. Вызовите метод GetFilesAsync результата запроса, чтобы получить неструктурированный список файлов, отсортированных в соответствии с запросом. Этот метод возвращает список типа IReadOnlyList<StorageFile>. Каждый файл представлен элементом типа StorageFile.
Реализации
- Атрибуты
Исключения
Вы указали значение, отличное от DefaultQuery , из <перечисления xref:Windows.Storage.Search.CommonFileQuery?text=CommonFileQuery> для папки, которая не является папкой библиотеки. Проверьте значение запроса.
Комментарии
CommonFileQuery быстро и легко сортирует файлы на основе определенных атрибутов файла (например, заголовка или даты).
При указании параметра DefaultQuery из перечисления CommonFileQuery этот запрос является неглубоким запросом, который возвращает только файлы в текущей папке. При указании другого значения из перечисления CommonFileQuery этот запрос представляет собой глубокий запрос, который возвращает плоский список файлов из текущей папки и ее вложенных папок.
Совет
Некоторые значения из перечисления CommonFileQuery можно использовать только с папкой библиотеки (например, с папкой "Изображения") или с папкой "Домашняя группа". В дополнение к параметру DefaultQuery можно использовать только параметры OrderByName и OrderBySearchRank с папкой, которая не является папкой библиотеки.
Список методов, определяющих неглубокие и глубокие запросы, см. в примечаниях в разделе GetFilesAsync.
Чтобы проверка, доступен ли определенный CommonFileQuery, вызовите метод IsCommonFileQuerySupported папки.
Вы также можете асинхронно получить список файлов в текущей папке, вызвав один из методов GetFilesAsync .
Для Windows Server 2012 Чтобы использовать некоторые значения CommonFileQuery , необходимо установить компоненты индексатора, так как компоненты индексатора не установлены по умолчанию.