StorageFolder.GetFilesAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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) オーバーロードメソッドを呼び出して、ユーザーの Pictures フォルダーとそのサブフォルダーの内容を日付順に並べ替える方法を示しています。 次の使用例は、インデックス 0 から始まる最大 20 個のファイルを返します。 CommonFileQuery.OrderByDate オプションは日付を降順 (つまり、最新から最も古いもの) で並べ替えるため、この例ではユーザーの最新の写真 20 枚を返します。
次の例を実行する前に、アプリ マニフェスト ファイルで Pictures Library 機能を有効にします。
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 列挙から値を受け取ります。 CommonFileQuery 列挙から DefaultQuery オプションを指定すると、クエリは現在のフォルダー内のファイルのみを返すシャロー クエリです。 CommonFileQuery 列挙から別の値を指定すると、クエリは、現在のフォルダーとそのサブフォルダーからフラット化されたファイルの一覧を返すディープ クエリです。
ヒント
CommonFileQuery 列挙の値の一部は、ライブラリ フォルダー (Pictures ライブラリなど) または Homegroup フォルダーでのみ使用できます。 DefaultQuery オプションに加えて、OrderByName オプションと OrderBySearchRank オプションのみをライブラリ フォルダーではないフォルダーと共に使用できます。
ライブラリ フォルダーではないフォルダーから詳細なクエリ結果を取得するには、CreateFileQueryWithOptions(QueryOptions) メソッドを呼び出し、QueryOptions オブジェクトの FolderDepth プロパティの値として Deep を指定します。
メソッド | 現在のフォルダーからファイルのみを返すシャロー クエリを作成する | 現在のフォルダーとそのサブフォルダーからファイルを返すディープ クエリを作成する |
---|---|---|
GetFilesAsync() | このメソッドの既定の動作。 | 該当なし |
GetFilesAsync(CommonFileQuery) | DefaultQuery オプションを指定します。 | ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。 |
GetFilesAsync(CommonFileQuery, UInt32, UInt32) | DefaultQuery オプションを指定します。 | ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。 |
CreateFileQuery() | このメソッドの既定の動作。 | 該当なし |
CreateFileQuery(CommonFileQuery) | DefaultQuery オプションを指定します。 | ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。 |
CreateFileQueryWithOptions(QueryOptions) | 次のオプションが指定されていない場合の、このメソッドの既定の動作。 - または - QueryOptions オブジェクトをインスタンス化するときに、CommonFileQuery の値として DefaultQuery を指定します。 - または - QueryOptions オブジェクトの FolderDepth プロパティの値として、Shallow を指定します。 |
ライブラリ フォルダーの場合は、QueryOptions オブジェクトをインスタンス化するときに、CommonFileQuery の値として DefaultQuery 以外の値を指定します。 - または - 任意のフォルダーに対して、QueryOptions の FolderDepth プロパティの値として Deep を指定します。 |
こちらもご覧ください
- GetFilesAsync(CommonFileQuery, UInt32, UInt32)
- GetFilesAsync(CommonFileQuery)
- ファイル アクセス許可
- GetItemsAsync
適用対象
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
ファイルの並べ替え方法を指定し、クエリが浅いか深いかを決定する列挙値の 1 つ。
戻り値
このメソッドが正常に完了すると、クエリで指定されたとおりに並べ替えられたファイルのフラット リストが返 されます。 リストの種類は 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
ファイルの並べ替え方法を指定し、クエリが浅いか深いかを決定する列挙値の 1 つ。
- startIndex
-
UInt32
unsigned int
uint32_t
取得する範囲内の最初のファイルの 0 から始まるインデックス。
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
取得するファイルの最大数。
戻り値
このメソッドが正常に完了すると、クエリで指定されたとおりに並べ替えられたファイルのフラット リストが返 されます。 リストの種類は IReadOnlyList<StorageFile です>。 リスト内の各ファイルは、 StorageFile オブジェクトによって表されます。
実装
- 属性
例外
現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。