StorageFolder.GetItemsAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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.