StorageFolder.GetItemsAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
GetItemsAsync() |
Mendapatkan file dan subfolder di folder saat ini. |
GetItemsAsync(UInt32, UInt32) |
Mendapatkan rentang file dan folder berbasis indeks dari daftar semua file dan subfolder di folder saat ini. |
GetItemsAsync()
Mendapatkan file dan subfolder di folder saat ini.
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))
Mengembalikan
Ketika metode ini berhasil diselesaikan, metode ini mengembalikan daftar file dan folder di folder saat ini. Daftar ini berjenis IReadOnlyList<IStorageItem>. Setiap item dalam daftar diwakili oleh objek IStorageItem .
Untuk bekerja dengan item yang dikembalikan, panggil metode IsOfType antarmuka IStorageItem untuk menentukan apakah setiap item adalah file atau folder. Kemudian transmisikan item ke StorageFolder atau StorageFile.
Penerapan
- Atribut
Pengecualian
Anda tidak memiliki izin untuk mengakses isi folder saat ini. Untuk informasi selengkapnya, lihat Izin akses file.
Contoh
Contoh berikut menunjukkan cara mendapatkan file dan subfolder di folder saat ini dengan memanggil metode 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());
}
}
});
Keterangan
Tabel berikut mencantumkan metode kelas StorageFolder yang mendapatkan daftar file dan folder. Tabel mengidentifikasi kueri dangkal yang hanya mengembalikan item dari folder saat ini, dan kueri mendalam yang mengembalikan item dari folder saat ini dan dari subfoldernya.
Untuk mendapatkan hasil kueri mendalam dari folder yang bukan folder pustaka, panggil metode CreateItemQueryWithOptions(QueryOptions) dan tentukan Deep sebagai nilai properti FolderDepth dari objek QueryOptions .
Metode | Membuat kueri dangkal yang hanya mengembalikan item dari folder saat ini | Membuat kueri mendalam yang mengembalikan item dari folder saat ini dan dari subfoldernya |
---|---|---|
GetItemsAsync() | Perilaku default metode ini. | T/A |
GetItemsAsync(UInt32, UInt32) | Perilaku default metode ini. | T/A |
CreateItemQuery() | Perilaku default metode ini. | T/A |
CreateItemQueryWithOptions(QueryOptions) | Perilaku default metode ini jika tidak ada opsi berikut yang ditentukan. - atau - Tentukan DefaultQuery sebagai nilai CommonFileQuery atau CommonFolderQuery saat Anda membuat instans objek QueryOptions . - atau - Tentukan Dangkal sebagai nilai properti FolderDepth dari objek QueryOptions . |
Untuk folder pustaka, tentukan nilai selain DefaultQuery sebagai nilai CommonFileQuery atau CommonFolderQuery saat Anda membuat instans objek QueryOptions . - atau - Untuk folder apa pun, tentukan Deep sebagai nilai properti FolderDepth dari QueryOptions. |
Untuk mendapatkan hanya file, panggil metode GetFilesAsync . Untuk hanya mendapatkan folder, panggil metode GetFoldersAsync .
Lihat juga
Berlaku untuk
GetItemsAsync(UInt32, UInt32)
Mendapatkan rentang file dan folder berbasis indeks dari daftar semua file dan subfolder di folder saat ini.
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))
Parameter
- startIndex
-
UInt32
unsigned int
uint32_t
Indeks berbasis nol dari item pertama dalam rentang yang akan didapatkan.
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
Jumlah maksimum item yang akan didapatkan.
Mengembalikan
Ketika metode ini berhasil diselesaikan, metode ini mengembalikan daftar file dan subfolder di folder saat ini. Daftar ini berjenis IReadOnlyList<IStorageItem>. Setiap item dalam daftar diwakili oleh objek IStorageItem .
Untuk bekerja dengan item yang dikembalikan, panggil metode IsOfType antarmuka IStorageItem untuk menentukan apakah setiap item adalah file atau folder. Kemudian transmisikan item ke StorageFolder atau StorageFile.
Penerapan
- Atribut
Pengecualian
Anda tidak memiliki izin untuk mengakses isi folder saat ini. Untuk informasi selengkapnya, lihat Izin akses file.