Compartilhar via


Gerenciar arquivos, pastas e bibliotecas com Windows App SDK

Windows App SDK fornece recursos avançados de gerenciamento de arquivos para aplicativos empacotados. Você pode usar APIs dos namespaces Windows.Storage, Windows.Storage.Streams e Microsoft.Windows.Storage.Pickers para ler e gravar com eficiência vários formatos de dados em arquivos, bem como gerenciar arquivos e pastas.

Há uma ampla variedade de APIs relacionadas a arquivos, pastas, bibliotecas e configurações para aplicativos da área de trabalho do Windows começando em Windows 10. Esses recursos estão disponíveis por meio de uma combinação de APIs Windows App SDK, Windows Runtime (WinRT) e .NET fornecidas pelo Windows App SDK, Windows SDK e .NET SDK.

Usar seletores de Windows App SDK para ler e gravar dados

Há APIs de seletor disponíveis no Windows App SDK versão 1.8 e posterior. Os tópicos a seguir fornecem informações sobre como usar as APIs do seletor para permitir que os usuários abram e salvem arquivos e pastas em seu aplicativo:

Tópico Description
Abrir arquivos e pastas com seletores no WinUI Use Windows App SDK seletores de arquivos e pastas para permitir que os usuários naveguem e selecionem arquivos ou pastas em seu aplicativo WinUI. As APIs de seleção fornecem uma experiência familiar do Windows que ajuda os usuários a navegar em seus dispositivos e locais de armazenamento em nuvem. Saiba como permitir que os usuários selecionem um arquivo ou pasta para abrir usando as classes FileOpenPicker e FolderPicker.
Salve um arquivo com o seletor do Windows App SDK no WinUI Ao criar aplicativos WinUI e outros aplicativos cliente do Windows, os usuários geralmente precisam salvar arquivos como documentos, imagens ou outros conteúdos em locais específicos em seu dispositivo. O Windows App SDK fornece a classe FileSavePicker para criar uma interface consistente e amigável que permite que os usuários escolham onde salvar arquivos e o que nomeá-los.

Principais diferenças entre o WinRT e os seletores de Windows App SDK

Aqui estão algumas diferenças importantes em relação ao WinRT Windows.Storage.Pickers usados por aplicativos UWP:

  • Ao contrário do existente API Windows.Storage.Pickers, que retorna objetos StorageFile e StorageFolder, esta nova API retorna caminhos baseados em strings através das classes PickFileResult e PickFolderResult. Isso simplifica a API e evita complicações com as capacidades de armazenamento em cenários complexos.
  • Da mesma forma, a propriedade FileSavePicker.SuggestedSaveFile (que retornou um StorageFile) foi substituída. Sua funcionalidade agora é coberta por duas propriedades de cadeia de caracteres: SuggestedFolder e SuggestedFileName. Isso permite que você sugira a pasta e o nome do arquivo para a caixa de diálogo Salvar.
  • Todos os novos seletores são projetados especificamente para aplicativos da área de trabalho e usam uma propriedade WindowId para vincular o seletor à janela do host, substituindo o WinRT.Interop.InitializeWithWindow.Initialize padrão.
  • Os novos seletores permitem que os desenvolvedores os usem sem a necessidade de FileTypeFilter ou FileTypeChoices precisarem ser especificados. Embora os seletores UWP lancem exceções quando essas propriedades não são definidas, os novos seletores padrão para mostrar todos os arquivos quando os desenvolvedores não configuram explicitamente essas propriedades.
  • O local HomeGroup foi excluído da nova enumeração PickerLocationId pois não há mais suporte a partir de Windows 10.
  • FolderPicker.FileTypeFilter foi excluído, pois não era funcionalmente apropriado para a seleção de pastas.
  • Excluindo métodos e propriedades que já estão marcadas como preteridas ou "Não usar". por exemplo, PickSingleFileAndContinue, ContinuationData, ResumePickSingleFileAsync etc.
  • Excluindo métodos e propriedades para o modo multiusuário, pois as novas APIs são projetadas atualmente para cenários de área de trabalho em que cada usuário tem sua própria sessão interativa e cada sessão é completamente independente das outras sessões no dispositivo. Isso contrasta com o Xbox ou outros dispositivos multiusuários.

Acesse dados com APIs de armazenamento do WinRT

Os aplicativos empacotados têm acesso a todas as APIs de armazenamento do WinRT disponíveis para aplicativos UWP. Se você estiver migrando um aplicativo UWP existente ou criando um novo aplicativo, poderá usar essas APIs para ler e gravar dados. Para obter exemplos de como usar as APIs de armazenamento em um aplicativo WinUI 3, consulte Acessar arquivos e pastas com as APIs Windows App SDK e WinRT.

Usar APIs de arquivo .NET para acesso a dados

Além das APIs do WinRT, os aplicativos de área de trabalho empacotados podem usar as APIs de .NET no namespace System.IO para ler e gravar dados. Quando um novo project WinUI é criado, seu arquivo Package.appxmanifest contém a seguinte configuração:

<Capabilities>
  <rescap:Capability Name="runFullTrust" />
</Capabilities>

Declarar essa funcionalidade restrita fornece access completo ao sistema de arquivos, ao registro e a outros recursos restritos. Para obter mais informações, consulte declarações de funcionalidade restritas. Em outras palavras, o aplicativo tem o mesmo access ao sistema de arquivos que qualquer outro aplicativo da área de trabalho .NET ao usar as APIs de arquivo .NET.

Para obter exemplos de como usar as APIs do .NET em um aplicativo WinUI, consulte Acesse arquivos e pastas com APIs do Windows App SDK e .NET.

Recursos adicionais para trabalhar com arquivos e pastas

Se você estiver desenvolvendo aplicativos WinUI empacotados, as APIs do WinRT storage poderão ser uma ferramenta poderosa para ler e gravar dados. Os tópicos UWP a seguir fornecem uma grande quantidade de informações para desenvolvedores que buscam aproveitar essas APIs em seus aplicativos.

Tópico Description
Enumerar e consultar arquivos e pastas Acesse arquivos e pastas em uma biblioteca, dispositivo, localização de rede ou em qualquer pasta. Você também pode consultar os arquivos e pastas em um local construindo consultas de arquivo e pasta.
Criar, gravar e ler um arquivo Ler e gravar um arquivo usando um objeto StorageFile.
Práticas recomendadas para gravar em arquivos Conheça as práticas recomendadas para usar vários métodos de gravação de arquivos das classes FileIO e PathIO.
Obter propriedades de arquivo Obtenha propriedades de nível superior, básico e estendido para um arquivo representado por um objeto StorageFile.
Acessando o conteúdo do HomeGroup Acesse o conteúdo armazenado na pasta do Grupo Doméstico do usuário, incluindo imagens, músicas e vídeos.
Determinando a disponibilidade de arquivos do Microsoft OneDrive Determine se um arquivo Microsoft OneDrive está disponível usando a propriedade StorageFile.IsAvailable.
Arquivos e pastas nas bibliotecas Música, Imagens e Vídeos Adicione pastas existentes de música, imagens ou vídeos às bibliotecas correspondentes. Você também pode remover pastas de bibliotecas, obter a lista de pastas em uma biblioteca e descobrir fotos, músicas e vídeos armazenados.
Rastrear arquivos e pastas usados recentemente Acompanhe os arquivos que o usuário acessa com frequência adicionando-os à MRU (lista usada mais recentemente) do aplicativo. A plataforma gerencia a MRU para você classificando os itens com base em quando eles foram acessados pela última vez e removendo o item mais antigo quando o limite de 25 itens da lista é atingido. Todos os aplicativos têm sua própria MRU.
Acompanhar as alterações do sistema de arquivos em segundo plano Acompanhe as alterações no sistema de arquivos, mesmo quando o aplicativo não estiver em execução.
Access o cartão SD Você pode armazenar e acessar dados não essenciais em um cartão microSD opcional, especialmente em dispositivos móveis de baixo custo que têm armazenamento interno limitado.
Acesso rápido às propriedades do arquivo Colete com eficiência uma lista de arquivos e suas propriedades de uma biblioteca para usar por meio das APIs de Windows Runtime.

Consulte também

Access arquivos e pastas com APIs Windows App SDK e WinRT

Access arquivos e pastas com APIs Windows App SDK e .NET

System.IO