Uso dos métodos load() e save()

Flash Player 10 e posterior, Adobe AIR 1.5 e posterior

O Flash Player 10 adicionou os métodos load() e save() à classe FileReference. Esses métodos também estão no AIR 1.5 e a classe File herda os métodos da classe FileReference. Esses métodos foram projetados para fornecer um meio seguro para usuários carregarem e salvarem dados de arquivo em Flash Player. No entanto, os aplicativos AIR também podem usar esses métodos como uma maneira fácil de carregar e salvar arquivos de forma assíncrona.

Por exemplo, o código a seguir salva uma sequência de caracteres em um arquivo de texto:

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
var str:String = "Hello."; 
file.addEventListener(Event.COMPLETE, fileSaved); 
file.save(str); 
function fileSaved(event:Event):void 
{ 
    trace("Done."); 
}

O parâmetro data do método save() pode usar um valor String, XML ou ByteArray. Quando o argumento é um valor String ou XML, o método salva o arquivo como arquivo de texto criptografado UTF-8.

Quando esse exemplo de código é executado, o aplicativo exibe uma caixa de diálogo em que o usuário seleciona o destino do arquivo salvo.

O código a seguir carrega uma sequência de caracteres de um arquivo de texto codificado em UTF-8.

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
file.addEventListener(Event.COMPLETE, loaded); 
file.load(); 
var str:String; 
function loaded(event:Event):void 
{ 
    var bytes:ByteArray = file.data; 
    str = bytes.readUTFBytes(bytes.length); 
    trace(str); 
}

A classe FileStream fornece mais funcionalidade do que os métodos load() e save() .

  • Usando a classe FileStream, você pode ler e gravar dados de forma síncrona e assíncrona.

  • O uso da classe FileStream permite gravar em um arquivo de forma incremental.

  • O uso da classe FileStream permite abrir um arquivo para acesso aleatório (para leitura e gravação em qualquer seção do arquivo).

  • A classe FileStream permite especificar o tipo de acesso que você tem ao arquivo, definindo o parâmetro fileMode do método open() ou openAsync() .

  • A classe FileStream permite salvar dados em arquivos sem apresentar ao usuário uma caixa de diálogo Abrir ou Salvar.

  • Você pode usar diretamente tipos diferentes de matrizes de bytes ao ler dados com a classe FileStream.