A 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.