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 类型的项表示。

实现

属性

例外

你从 <xref:Windows.Storage.Search.CommonFileQuery?text=CommonFileQuery 枚举中为非库文件夹的文件夹指定了 DefaultQuery> 以外的值。 检查 查询的值。

注解

CommonFileQuery 根据特定文件属性(如标题或日期 () )快速轻松地对文件进行排序。

CommonFileQuery 枚举指定 DefaultQuery 选项时,此查询是一个浅表查询,仅返回当前文件夹中的文件。 从 CommonFileQuery 枚举指定另一个值时,此查询是一个深度查询,它从当前文件夹及其子文件夹中返回平展的文件列表。

提示

CommonFileQuery 枚举中的某些值只能与库文件夹 (如图片库) 或家庭组文件夹一起使用。 除了 DefaultQuery 选项之外,还可以仅将 OrderByNameOrderBySearchRank 选项用于非库文件夹的文件夹。

有关标识浅层查询和深度查询的方法列表,请参阅主题 GetFilesAsync 中的备注。

若要检查特定 CommonFileQuery 是否可用,请调用文件夹的 IsCommonFileQuerySupported 方法。

还可以通过调用 GetFilesAsync 方法之一异步获取当前文件夹中的文件列表。

对于 Windows Server 2012 必须安装索引器组件才能使用某些 CommonFileQuery 值,因为默认情况下未安装索引器组件。

另请参阅

适用于