[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]
Saiba como adicionar os recursos de manipulação de arquivos ao seu aplicativo da Windows Store usando JavaScript e executando no Windows 8.1.
Cada seção deste tópico descreve um recurso principal de manipulação de arquivos, vincula para um tópico que fornece mais detalhes sobre esse recurso e oferece informações sobre como encontrar rapidamente o código relevante no exemplo complementar deste tópico. Exemplo complementar de manipulação de arquivos, do início ao fim.
Observação Muitos das funções usadas para interagir com pastas e arquivos são assíncronos. Você pode saber como escrever aplicativos JavaScript assíncronos em Programação assíncrona em JavaScript.
Noções básicas de acesso a arquivos: enumeração, obtenção de propriedades e leitura e gravação de dados
Você pode acessar arquivos em um local, como uma pasta, uma biblioteca, um dispositivo ou um local da rede, com apenas uma única linha de código — uma chamada para a função StorageFolder.getFilesAsync. Veja Acessando arquivos de forma programática para instruções passo a passo que ilustram como realizar tarefas como enumerar arquivos e pastas de nível superior de um local especificado e consultar arquivos em um local.
Essas etapas mostram como enumerar arquivos em um local específico:
Essa captura de tela do exemplo auxiliar mostra um exemplo de enumeração dos arquivos em Imagens.
Encontre no exemplo: o exemplo inclui uma página intitulada FileAccessBasics, que inclui os exemplos apresentados nesta seção. O código JavaScript e HTML relevante está centralizado nos arquivos FileAccessBasicsPage.js (função OnEnumPicturesClick) e FileAccessBasicsPage.html.
As propriedades de arquivo descrevem ou quantificam um atributo de um arquivo ou o seu conteúdo. Por exemplo, as propriedades de arquivo incluem esses dados como nome do arquivo, caminho, tamanho do arquivo, atributos de arquivo e data de último acesso. O Guia de início rápido: obtendo as propriedades de um arquivo mostra como recuperar e exibir as propriedades de nível superior e básicas de um arquivo.
Essas etapas mostram como obter propriedades de nível superior ou básicas de um arquivo:
Esse exemplo de código enumera todos os arquivos em Imagens e exibe várias propriedades básicas e de nível superior do arquivo. Observe como as promises de JavaScript estão sendo usadas para sincronizar os resultados de duas operações assíncronas (StorageFolder.getFilesAsync e StorageFile.getBasicPropertiesAsync). Para saber mais sobre a programação assíncrona e promises em JavaScript, consulte Programação assíncrona em JavaScript.
Essa captura de tela do exemplo complementar mostra um exemplo de várias propriedades de arquivo básicas e de nível superior.
Encontre no exemplo: o exemplo inclui uma página intitulada FileAccessBasics, que inclui os exemplos apresentados nesta seção. O código JavaScript e HTML relevante está centralizado nos arquivos FileAccessBasicsPage.js (função (OnGetFilePropertiesClick) e FileAccessBasicsPage.html.
Para gravar em um arquivo, você primeiro precisa adquirir um objeto StorageFile para passar para uma das funções FileIO para gravação de dados. Na amostra de acompanhamento, isso é feito ao criar um arquivo através da função StorageFolder.createFileAsync.
Depois que tiver um objeto StorageFile, você pode gravar texto no arquivo subjacente através de uma das funções FileIO.writeTextAsync sobrecarregadas.
Esse exemplo de código grava a data/hora atual em um arquivo de exemplo.
Para ler o conteúdo de um arquivo, você primeiro precisa adquirir um objeto StorageFile para passar para uma das funções FileIO para leitura de dados. Na amostra de acompanhamento, isso é feito ao chamar a função StorageFolder.getFileAsync.
Após criar um objeto StorageFile, você pode ler o texto no arquivo subjacente através de uma das funções FileIO.readTextAsync sobrecarregadas.
Este exemplo de código lê o conteúdo de um arquivo de amostra.
Essa captura de tela mostra um exemplo da execução do exemplo e da gravação no arquivo de exemplo.
Encontre no exemplo: o exemplo inclui uma página intitulada FileAccessBasics, que inclui os exemplos apresentados nesta seção. O código JavaScript e HTML relevante está centralizado nos arquivos FileAccessBasicsPage.js (funções OnWriteTextToFileClick e OnReadTextFromFileClick) e FileAccessBasicsPage.html.
Seletores — de arquivos e de pastas — são usados para exibir uma lista de arquivos/pastas, da qual o usuário pode selecionar um ou mais itens para processamento adicional. Os seletores podem ser configurados de forma programática para procurar arquivos e pastas que correspondem a um filtro especificado (como arquivos com extensões específicas), iniciar em uma pasta determinada, exibir um modo de exibição específico (lista ou miniatura) e muito mais.
Os procedimentos a seguir mostram como configurar os vários seletores para seleção de um único arquivo, vários arquivos e uma única pasta.
Configurando um seletor de arquivo de seleção de arquivo único
Chame a função FileOpenPicker.pickSingleFileAsync. Quando a função FileOpenPicker.pickSingleFileAsync estiver concluída, o aplicativo possui acesso de leitura/gravação ao arquivo selecionado.
Este exemplo de código instancia e mostra um seletor de arquivo para uma seleção de arquivo único.
Chame a função FileOpenPicker.pickMultipleFileAsync. Quando a função FileOpenPicker.pickMultipleFileAsync estiver concluída, o aplicativo possui acesso de leitura/gravação aos arquivos selecionados. Os arquivos selecionados são representados por uma matriz de objetos StorageFile. A propriedade sizes da matriz indica quantos arquivos foram selecionados, de forma que você pode usar um loop for com uma notação de matriz padrão para acessar cada objeto StorageFile.
Este exemplo de código instancia e mostra um seletor de arquivo para uma seleção de vários arquivos.
Essa captura de tela mostra os resultados de execução do exemplo e seleção dos dois arquivos (sample1.png e sample2.png).
Encontre no exemplo: o exemplo inclui uma página intitulada Seletores de arquivo e pasta, que demonstra as tarefas descritas nesta seção. O código JavaScript e HTML para esse exemplo está nos arquivos FilePickerPage.js e FilePickerPage.html, respectivamente.
O Windows 8.1 permite que os usuários marquem arquivos do OneDrive como somente online. Quando o usuário se desconecta do OneDrive, esses arquivos não ficam disponíveis. Para ajudar a determinar de forma programática a disponibilidade de um arquivo, há uma nova propriedade chamada StorageFile.isAvailable.
Essas etapas mostram como determinar a disponibilidade dos arquivos usando a propriedade StorageFile.isAvailable.
Essa captura de tela mostra exemplo de resultados da verificação dos arquivos em Imagens para fins de disponibilidade.
Encontre no exemplo: o exemplo inclui uma página intitulada "Arquivos do OneDrive", que tem um botão que enumera todos os arquivos na biblioteca de Imagens da máquina local. Cada nome de arquivo é exibido junto com o provedor desse arquivo (por exemplo, Este Computador ou OneDrive) e se o arquivo está ou não disponível atualmente. O código JavaScript e o HTML para esse exemplo estão nos arquivos OneDriveFilesPage.js e OneDriveFilesPage.html, respectivamente.
Recomendado. Executar o Kit de Certificação de Aplicativos para Windows ajuda a garantir que seu aplicativo cumpra os requisitos da Windows Store. Recomendamos que você execute-o sempre que adicionar a funcionalidade principal em seu aplicativo.