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) 메서드를 호출하고 Deep을 QueryOptions 개체의 FolderDepth 속성 값으로 지정합니다.
메서드 | 현재 폴더의 항목만 반환하는 단순 쿼리 만들기 | 현재 폴더 및 하위 폴더에서 항목을 반환하는 심층 쿼리 만들기 |
---|---|---|
GetItemsAsync() | 이 메서드의 기본 동작입니다. | 해당 없음 |
GetItemsAsync(UInt32, UInt32) | 이 메서드의 기본 동작입니다. | 해당 없음 |
CreateItemQuery() | 이 메서드의 기본 동작입니다. | 해당 없음 |
CreateItemQueryWithOptions(QueryOptions) | 다음 옵션 중 어느 것도 지정되지 않은 경우 이 메서드의 기본 동작입니다. -또는- QueryOptions 개체를 인스턴스화할 때 DefaultQuery를 CommonFileQuery 또는 CommonFolderQuery 값으로 지정합니다. -또는- Shallow을 QueryOptions 개체의 FolderDepth 속성 값으로 지정합니다. |
라이브러리 폴더의 경우 QueryOptions 개체를 인스턴스화할 때 DefaultQuery 이외의 값을 CommonFileQuery 또는 CommonFolderQuery 값으로 지정합니다. -또는- 모든 폴더에 대해 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로 캐스팅합니다.
구현
- 특성
예외
현재 폴더의 내용에 액세스할 수 있는 권한이 없습니다. 자세한 내용은 파일 액세스 권한을 참조하세요.