Compartilhar via


StorageFolder.GetItemsAsync Método

Definição

Sobrecargas

GetItemsAsync()

Obtém os arquivos e subpastas na pasta atual.

GetItemsAsync(UInt32, UInt32)

Obtém um intervalo baseado em índice de arquivos e pastas da lista de todos os arquivos e subpastas na pasta atual.

GetItemsAsync()

Obtém os arquivos e subpastas na pasta atual.

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

Retornos

Quando esse método for concluído com êxito, ele retornará uma lista dos arquivos e pastas na pasta atual. A lista é do tipo IReadOnlyList<IStorageItem>. Cada item na lista é representado por um objeto IStorageItem .

Para trabalhar com os itens retornados, chame o método IsOfType da interface IStorageItem para determinar se cada item é um arquivo ou uma pasta. Em seguida, converta o item em storageFolder ou StorageFile.

Implementações

Atributos

Exceções

Você não tem permissão para acessar o conteúdo da pasta atual. Para obter mais informações, consulte Permissões de acesso a arquivos.

Exemplos

O exemplo a seguir mostra como obter os arquivos e subpastas na pasta atual chamando o método 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());
  }
 }
});

Comentários

A tabela a seguir lista os métodos da classe StorageFolder que obtêm uma lista de arquivos e pastas. A tabela identifica consultas superficial que retornam apenas itens da pasta atual e consultas profundas que retornam itens da pasta atual e de suas subpastas.

Para obter resultados de consulta profunda de uma pasta que não é uma pasta de biblioteca, chame o método CreateItemQueryWithOptions(QueryOptions) e especifiqueDeep como o valor da propriedade FolderDepth do objeto QueryOptions .

Método Criar uma consulta superficial que retorna apenas itens da pasta atual Criar uma consulta profunda que retorna itens da pasta atual e de suas subpastas
GetItemsAsync() Comportamento padrão desse método. N/D
GetItemsAsync(UInt32, UInt32) Comportamento padrão desse método. N/D
CreateItemQuery() Comportamento padrão desse método. N/D
CreateItemQueryWithOptions(QueryOptions) Comportamento padrão desse método se nenhuma das opções a seguir for especificada.
- ou -
Especifique DefaultQuery como o valor de CommonFileQuery ou CommonFolderQuery quando você instanciar o objeto QueryOptions .
- ou -
Especifique Shallow como o valor da propriedade FolderDepth do objeto QueryOptions .
Para uma pasta de biblioteca, especifique um valor diferente de DefaultQuery como o valor de CommonFileQuery ou CommonFolderQuery ao instanciar o objeto QueryOptions .
- ou -
Para qualquer pasta, especifique Deep como o valor da propriedade FolderDepth do QueryOptions.

Para obter apenas arquivos, chame o método GetFilesAsync . Para obter apenas pastas, chame o método GetFoldersAsync .

Confira também

Aplica-se a

GetItemsAsync(UInt32, UInt32)

Obtém um intervalo baseado em índice de arquivos e pastas da lista de todos os arquivos e subpastas na pasta atual.

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

Parâmetros

startIndex
UInt32

unsigned int

uint32_t

O índice baseado em zero do primeiro item no intervalo a ser obtido.

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

O número máximo de itens a serem obtidos.

Retornos

Quando esse método for concluído com êxito, ele retornará uma lista dos arquivos e subpastas na pasta atual. A lista é do tipo IReadOnlyList<IStorageItem>. Cada item na lista é representado por um objeto IStorageItem .

Para trabalhar com os itens retornados, chame o método IsOfType da interface IStorageItem para determinar se cada item é um arquivo ou uma pasta. Em seguida, converta o item em storageFolder ou StorageFile.

Implementações

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

Exceções

Você não tem permissão para acessar o conteúdo da pasta atual. Para obter mais informações, consulte Permissões de acesso a arquivos.

Confira também

Aplica-se a