StorageFolder.GetItemsAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
GetItemsAsync() |
現在のフォルダー内のファイルとサブフォルダーを取得します。 |
GetItemsAsync(UInt32, UInt32) |
現在のフォルダー内のすべてのファイルとサブフォルダーの一覧から、インデックスベースのファイルとフォルダーの範囲を取得します。 |
GetItemsAsync()
現在のフォルダー内のファイルとサブフォルダーを取得します。
public:
virtual IAsyncOperation<IVectorView<IStorageItem ^> ^> ^ GetItemsAsync() = GetItemsAsync;
/// [Windows.Foundation.Metadata.Overload("GetItemsAsyncOverloadDefaultStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<IStorageItem>> GetItemsAsync();
[Windows.Foundation.Metadata.Overload("GetItemsAsyncOverloadDefaultStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<IStorageItem>> GetItemsAsync();
function getItemsAsync()
Public Function GetItemsAsync () As IAsyncOperation(Of IReadOnlyList(Of IStorageItem))
戻り値
このメソッドが正常に完了すると、現在のフォルダー内のファイルとフォルダーの一覧が返されます。 リストの種類は IReadOnlyList<IStorageItem です>。 リスト内の各項目は、 IStorageItem オブジェクトによって表されます。
返されたアイテムを操作するには、IStorageItem インターフェイスの IsOfType メソッドを呼び出して、各項目がファイルかフォルダーかを判断します。 次に、項目を StorageFolder または StorageFile にキャストします。
実装
- 属性
例外
現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。
例
次の例では、GetItemsAsync() メソッドを呼び出して、現在のフォルダー内のファイルとサブフォルダーを取得する方法を示します。
using Windows.Storage;
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 and folders in the current folder.
IReadOnlyList<IStorageItem> itemsInFolder = await appFolder.GetItemsAsync();
// Iterate over the results and print the list of items
// to the Visual Studio Output window.
foreach (IStorageItem item in itemsInFolder)
{
if(item.IsOfType(StorageItemTypes.Folder))
Debug.WriteLine("Folder: " + item.Name);
else
Debug.WriteLine("File: " + item.Name + ", " + item.DateCreated);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
// Get the app's installation folder.
Windows::Storage::StorageFolder appFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };
// Get the items in the current folder.
Windows::Foundation::Collections::IVectorView<Windows::Storage::IStorageItem> itemsInFolder{
co_await appFolder.GetItemsAsync() };
// Iterate over the results, and print the list of items to the Visual Studio output window.
for (IStorageItem const& itemInFolder : itemsInFolder)
{
std::wstringstream stringstream;
if (itemInFolder.IsOfType(Windows::Storage::StorageItemTypes::File))
{
stringstream << L"File: ";
}
else
{
stringstream << L"Folder: ";
}
stringstream << itemInFolder.Name().c_str() << std::endl;
::OutputDebugString(stringstream.str().c_str());
}
}
// Get the apps installation folder
StorageFolder^ appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;
// Get the items in the current folder;
create_task(appFolder->GetItemsAsync()).then([=](IVectorView<IStorageItem^>^ itemsInFolder) {
//Iterate over the results and print the list of items
// to the visual studio output window
for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
{
IStorageItem^ item = it->Current;
if (item->IsOfType(StorageItemTypes::File))
{
String^ output = "File: " + item->Name + "\n";
OutputDebugString(output->Begin());
}
else
{
String^ output = "Folder: " + item->Name + "\n";
OutputDebugString(output->Begin());
}
}
});
注釈
次の表は、ファイルとフォルダーの一覧を取得する StorageFolder クラスのメソッドの一覧です。 テーブルは、現在のフォルダーからのアイテムのみを返すシャロー クエリと、現在のフォルダーとそのサブフォルダーからアイテムを返すディープ クエリを識別します。
ライブラリ フォルダーではないフォルダーから詳細なクエリ結果を取得するには、CreateItemQueryWithOptions(QueryOptions) メソッドを呼び出し、QueryOptions オブジェクトの FolderDepth プロパティの値として Deep を指定します。
メソッド | 現在のフォルダーのアイテムのみを返すシャロー クエリを作成する | 現在のフォルダーとそのサブフォルダーからアイテムを返すディープ クエリを作成する |
---|---|---|
GetItemsAsync() | このメソッドの既定の動作。 | 該当なし |
GetItemsAsync(UInt32, UInt32) | このメソッドの既定の動作。 | 該当なし |
CreateItemQuery() | このメソッドの既定の動作。 | 該当なし |
CreateItemQueryWithOptions(QueryOptions) | 次のオプションが指定されていない場合の、このメソッドの既定の動作。 - または - QueryOptions オブジェクトをインスタンス化するときに、CommonFileQuery または CommonFolderQuery の値として DefaultQuery を指定します。 - または - QueryOptions オブジェクトの FolderDepth プロパティの値として、Shallow を指定します。 |
ライブラリ フォルダーの場合、QueryOptions オブジェクトをインスタンス化するときに、CommonFileQuery または CommonFolderQuery の値として DefaultQuery 以外の値を指定します。 - または - 任意のフォルダーに対して、QueryOptions の FolderDepth プロパティの値として Deep を指定します。 |
ファイルのみを取得するには、 GetFilesAsync メソッドを 呼び出します。 フォルダーのみを取得するには、 GetFoldersAsync メソッドを呼び出します。
こちらもご覧ください
適用対象
GetItemsAsync(UInt32, UInt32)
現在のフォルダー内のすべてのファイルとサブフォルダーの一覧から、インデックスベースのファイルとフォルダーの範囲を取得します。
public:
virtual IAsyncOperation<IVectorView<IStorageItem ^> ^> ^ GetItemsAsync(unsigned int startIndex, unsigned int maxItemsToRetrieve) = GetItemsAsync;
/// [Windows.Foundation.Metadata.Overload("GetItemsAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<IStorageItem>> GetItemsAsync(uint32_t const& startIndex, uint32_t const& maxItemsToRetrieve);
[Windows.Foundation.Metadata.Overload("GetItemsAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<IStorageItem>> GetItemsAsync(uint startIndex, uint maxItemsToRetrieve);
function getItemsAsync(startIndex, maxItemsToRetrieve)
Public Function GetItemsAsync (startIndex As UInteger, maxItemsToRetrieve As UInteger) As IAsyncOperation(Of IReadOnlyList(Of IStorageItem))
パラメーター
- startIndex
-
UInt32
unsigned int
uint32_t
取得する範囲内の最初の項目の 0 から始まるインデックス。
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
取得するアイテムの最大数。
戻り値
このメソッドが正常に完了すると、現在のフォルダー内のファイルとサブフォルダーの一覧が返されます。 リストの種類は IReadOnlyList<IStorageItem です>。 リスト内の各項目は、 IStorageItem オブジェクトによって表されます。
返されたアイテムを操作するには、IStorageItem インターフェイスの IsOfType メソッドを呼び出して、各項目がファイルかフォルダーかを判断します。 次に、項目を StorageFolder または StorageFile にキャストします。
実装
- 属性
例外
現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。