Share via


StorageFolder.GetItemsAsync Metode

Definisi

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

M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(System.UInt32,System.UInt32) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(unsigned int,unsigned int) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetItemsAsync(uint32_t,uint32_t)
Atribut

Pengecualian

Anda tidak memiliki izin untuk mengakses isi folder saat ini. Untuk informasi selengkapnya, lihat Izin akses file.

Lihat juga

Berlaku untuk