Trabalho com arquivosAdobe AIR 1.0 e posterior Usando a API de arquivo AIR, você pode adicionar recursos básicos de interação de arquivo a seus aplicativos. Por exemplo, você pode ler e gravar arquivos, copiar e excluir arquivos e assim por diante. Como seus aplicativos podem acessar o sistema de arquivos local, consulte Segurança do AIR, se ainda não tiver feito isso. Nota: Você pode associar um tipo de arquivo a um aplicativo AIR (de modo que, quando você clicar nele duas vezes, o aplicativo seja aberto). Para obter detalhes, consulte Gerenciamento de associações de arquivos.
Obtenção de informações de arquivosA classe File inclui as seguintes propriedades que oferecem informações sobre um arquivo ou diretório para o qual o objeto File aponta:
Para obter detalhes dessas propriedades, consulte a entrada da classe File na Referência do ActionScript 3.0 para a plataforma Adobe Flash. Cópia e movimentação de arquivosA classe File inclui dois métodos de cópia de arquivos ou diretórios: copyTo() e copyToAsync(). A classe File inclui dois métodos para mover arquivos ou diretórios: moveTo() e moveToAsync(). Os métodos copyTo() e moveTo() funcionam de modo síncrono e os métodos copyToAsync() e moveToAsync() funcionam de modo assíncrono (consulte Noções básicas do arquivo AIR). Para copiar ou mover um arquivo, defina dois objetos File. Um aponta para o arquivo que deve ser copiado ou movido, e é o objeto que chama o método de cópia ou movimentação; o outro aponta para o caminho de destino (resultado). O seguinte copia o arquivo test.txt do subdiretório AIR Test do diretório de documentos do usuário em um arquivo com nome copy.txt no mesmo diretório: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var newFile:File = File.resolvePath("AIR Test/copy.txt"); original.copyTo(newFile, true); Nesse exemplo, o valor do parâmetro overwrite do método copyTo() (o segundo parâmetro) é definido como true. Definindo overwrite como true, o arquivo de destino existente é sobrescrito. Esse parâmetro é opcional. Se você defini-lo como false (o valor padrão), a operação despacha um evento IOErrorEvent se o arquivo de destino existir (e o arquivo não é copiado). As versões “Async” dos métodos de cópia e movimentação funcionam de modo assíncrono. Use o método addEventListener() para monitorar a conclusão da tarefa ou as condições de erro, como no código a seguir: var original = File.documentsDirectory; original = original.resolvePath("AIR Test/test.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test 2/copy.txt"); original.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); original.addEventListener(IOErrorEvent.IO_ERROR, fileMoveIOErrorEventHandler); original.moveToAsync(destination); function fileMoveCompleteHandler(event:Event):void { trace(event.target); // [object File] } function fileMoveIOErrorEventHandler(event:IOErrorEvent):void { trace("I/O Error."); } A classe File também inclui os métodos File.moveToTrash() e File.moveToTrashAsync(), que movem o arquivo ou diretório para a lixeira do sistema. Exclusão de arquivoA classe File inclui os métodos deleteFile() e deleteFileAsync(). Esses métodos excluem arquivos; o primeiro trabalha de forma síncrona, o segundo trabalha de forma assíncrona (consulte Noções básicas do arquivo AIR). Por exemplo, o código a seguir exclui de modo síncrono o arquivo test.txt do diretório de documentos do usuário: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.deleteFile(); O código a seguir exclui de modo assíncrono o arquivo test.txt do diretório de documentos do usuário: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, completeHandler) file.deleteFileAsync(); function completeHandler(event:Event):void { trace("Deleted.") } Também estão incluídos os métodos moveToTrash() e moveToTrashAsync(), que você pode usar para mover um arquivo ou diretório para a lixeira do Sistema. Para obter detalhes, consulte Movimentação de arquivo para a lixeira. Movimentação de arquivo para a lixeiraA classe File inclui os métodos moveToTrash() e moveToTrashAsync(). Esses métodos enviam um arquivo ou diretório para a lixeira do Sistema; o primeiro trabalha de forma síncrona, o segundo trabalha de forma assíncrona (consulte Noções básicas do arquivo AIR). Por exemplo, o código a seguir move de modo síncrono o arquivo test.txt no diretório de documentos do usuários para a lixeira do Sistema: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.moveToTrash(); Nota: Em sistemas operacionais que não oferecem suporte ao conceito de uma pasta de lixeira recuperável, os arquivos são removidos imediatamente.
Criação de arquivo temporárioA classe File inclui o método createTempFile(), que cria um arquivo na pasta de diretórios temporários do Sistema, como no exemplo a seguir: var temp:File = File.createTempFile(); O método createTempFile() cria automaticamente um arquivo temporário exclusivo (poupando o seu trabalho de determinar um novo local exclusivo). Você pode usar um arquivo temporário para armazenar temporariamente informações usadas em uma sessão do aplicativo. Observe que também há o método createTempDirectory() para criar um diretório temporário exclusivo no diretório temporário System. Pode ser conveniente excluir o arquivo temporário antes de fechar o aplicativo, uma vez que ele não é excluído automaticamente em todos os dispositivos. |
![]() |