StorageFolder.CreateFileQuery 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 类型的项表示。
实现
- 属性
例外
你从 <xref:Windows.Storage.Search.CommonFileQuery?text=CommonFileQuery 枚举中为非库文件夹的文件夹指定了 DefaultQuery> 以外的值。 检查 查询的值。
注解
CommonFileQuery 根据特定文件属性(如标题或日期 () )快速轻松地对文件进行排序。
从 CommonFileQuery 枚举指定 DefaultQuery 选项时,此查询是一个浅表查询,仅返回当前文件夹中的文件。 从 CommonFileQuery 枚举指定另一个值时,此查询是一个深度查询,它从当前文件夹及其子文件夹中返回平展的文件列表。
提示
CommonFileQuery 枚举中的某些值只能与库文件夹 (如图片库) 或家庭组文件夹一起使用。 除了 DefaultQuery 选项之外,还可以仅将 OrderByName 和 OrderBySearchRank 选项用于非库文件夹的文件夹。
有关标识浅层查询和深度查询的方法列表,请参阅主题 GetFilesAsync 中的备注。
若要检查特定 CommonFileQuery 是否可用,请调用文件夹的 IsCommonFileQuerySupported 方法。
还可以通过调用 GetFilesAsync 方法之一异步获取当前文件夹中的文件列表。
对于 Windows Server 2012 必须安装索引器组件才能使用某些 CommonFileQuery 值,因为默认情况下未安装索引器组件。