Partager via


StorageFolder.GetItemsAsync Méthode

Définition

Surcharges

GetItemsAsync()

Obtient les fichiers et sous-dossiers dans le dossier actif.

GetItemsAsync(UInt32, UInt32)

Obtient une plage basée sur un index de fichiers et de dossiers à partir de la liste de tous les fichiers et sous-dossiers du dossier actif.

GetItemsAsync()

Obtient les fichiers et sous-dossiers dans le dossier actif.

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))

Retours

Une fois cette méthode terminée, elle retourne une liste des fichiers et dossiers dans le dossier actif. La liste est de type IReadOnlyList<IStorageItem>. Chaque élément de la liste est représenté par un objet IStorageItem .

Pour utiliser les éléments retournés, appelez la méthode IsOfType de l’interface IStorageItem pour déterminer si chaque élément est un fichier ou un dossier. Ensuite, castez l’élément en un StorageFolder ou StorageFile.

Implémente

Attributs

Exceptions

Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif. Pour plus d’informations, consultez Autorisations d’accès aux fichiers.

Exemples

L’exemple suivant montre comment obtenir les fichiers et sous-dossiers du dossier actif en appelant la méthode 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());
  }
 }
});

Remarques

Le tableau suivant répertorie les méthodes de la classe StorageFolder qui obtiennent une liste de fichiers et de dossiers. Le tableau identifie les requêtes superficielles qui retournent uniquement les éléments du dossier actif, et les requêtes approfondies qui retournent des éléments du dossier actif et de ses sous-dossiers.

Pour obtenir des résultats de requête approfondie à partir d’un dossier qui n’est pas un dossier de bibliothèque, appelez la méthode CreateItemQueryWithOptions(QueryOptions) et spécifiez Deep comme valeur de la propriété FolderDepth de l’objet QueryOptions .

Méthode Créer une requête superficielle qui retourne uniquement les éléments du dossier actif Créer une requête approfondie qui retourne des éléments du dossier actif et de ses sous-dossiers
GetItemsAsync() Comportement par défaut de cette méthode. N/A
GetItemsAsync(UInt32, UInt32) Comportement par défaut de cette méthode. N/A
CreateItemQuery() Comportement par défaut de cette méthode. N/A
CreateItemQueryWithOptions(QueryOptions) Comportement par défaut de cette méthode si aucune des options suivantes n’est spécifiée.
- ou -
Spécifiez DefaultQuery comme valeur de CommonFileQuery ou CommonFolderQuery lorsque vous instanciez l’objet QueryOptions .
- ou -
Spécifiez Shallow comme valeur de la propriété FolderDepth de l’objet QueryOptions .
Pour un dossier de bibliothèque, spécifiez une valeur autre que DefaultQuery comme valeur de CommonFileQuery ou CommonFolderQuery lorsque vous instanciez l’objet QueryOptions .
- ou -
Pour n’importe quel dossier, spécifiez Deep comme valeur de la propriété FolderDepth de QueryOptions.

Pour obtenir uniquement des fichiers, appelez la méthode GetFilesAsync . Pour obtenir uniquement des dossiers, appelez la méthode GetFoldersAsync .

Voir aussi

S’applique à

GetItemsAsync(UInt32, UInt32)

Obtient une plage basée sur un index de fichiers et de dossiers à partir de la liste de tous les fichiers et sous-dossiers du dossier actif.

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))

Paramètres

startIndex
UInt32

unsigned int

uint32_t

Index de base zéro du premier élément de la plage à obtenir.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

Nombre maximal d’éléments à obtenir.

Retours

Une fois cette méthode terminée, elle retourne une liste des fichiers et sous-dossiers dans le dossier actif. La liste est de type IReadOnlyList<IStorageItem>. Chaque élément de la liste est représenté par un objet IStorageItem .

Pour utiliser les éléments retournés, appelez la méthode IsOfType de l’interface IStorageItem pour déterminer si chaque élément est un fichier ou un dossier. Ensuite, castez l’élément en un StorageFolder ou StorageFile.

Implémente

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)
Attributs

Exceptions

Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif. Pour plus d’informations, consultez Autorisations d’accès aux fichiers.

Voir aussi

S’applique à