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장을 반환합니다.
다음 예제를 실행하기 전에 앱 매니페스트 파일에서 그림 라이브러리 기능을 사용하도록 설정합니다.
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 열거형의 일부 값은 라이브러리 폴더(예: 사진 라이브러리) 또는 홈 그룹 폴더에서만 사용할 수 있습니다. 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 개체를 인스턴스화할 때 DefaultQuery를 CommonFileQuery 값으로 지정합니다. -또는- QueryOptions 개체의 FolderDepth 속성 값으로 Shallow을 지정합니다. |
라이브러리 폴더의 경우 QueryOptions 개체를 인스턴스화할 때 DefaultQuery 이외의 값을 CommonFileQuery 값으로 지정합니다. -또는- 폴더에 대해 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
파일을 정렬하는 방법을 지정하고 쿼리가 단순하거나 깊은지 여부를 결정하는 열거형 값 중 하나입니다.
반환
이 메서드가 성공적으로 완료되면 쿼리에 지정된 대로 정렬된 파일의 플랫 목록을 반환합니다. 목록은 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
파일을 정렬하는 방법을 지정하고 쿼리가 단순하거나 깊은지 여부를 결정하는 열거형 값 중 하나입니다.
- startIndex
-
UInt32
unsigned int
uint32_t
검색할 범위에서 첫 번째 파일의 인덱스(0부터 시작)입니다.
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
검색할 최대 파일 수입니다.
반환
이 메서드가 성공적으로 완료되면 쿼리로 지정된 대로 정렬된 파일의 플랫 목록을 반환합니다. 목록은 IReadOnlyList<StorageFile> 형식입니다. 목록의 각 파일은 StorageFile 개체로 표시됩니다.
구현
- 특성
예외
현재 폴더의 내용에 액세스할 수 있는 권한이 없습니다. 자세한 내용은 파일 액세스 권한을 참조하세요.