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.