La classe File comprende due metodi per la copia di file o directory:
copyTo()
e
copyToAsync()
. La classe File comprende due metodi per lo spostamento di file o directory:
moveTo()
e
moveToAsync()
. I metodi
copyTo()
e
moveTo()
operano in modo sincrono, mentre i metodi
copyToAsync()
e
moveToAsync()
in modo asincrono (consultate
Elementi di base dei file AIR
).
Per copiare o spostare un file, configurate due oggetti File. Uno punta al file da copiare o spostare e corrisponde all'oggetto che chiama il metodo di copia o spostamento; l'altro punta al percorso di destinazione (risultato).
Il caso seguente copia un file test.txt dalla sottodirectory AIR Test della directory documents dell'utente in un file denominato copy.txt presente nella stessa directory:
var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
In questo esempio, il valore del parametro
overwrite
del metodo
copyTo()
(il secondo parametro) è impostato su
true
. Impostandolo su
true
, si sovrascrive un file target esistente. Questo parametro è opzionale. Se si imposta su
false
(il valore predefinito), l'operazione invia un evento IOErrorEvent, nel caso esista un file target (e il file non viene copiato).
Le versioni "Async" dei metodi di copia e spostamento operano in modo asincrono. Utilizzate il metodo
addEventListener()
per monitorare il completamento dell'attività o delle condizioni di errore, come nel codice seguente:
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.");
}
La classe File include anche i metodi
File.moveToTrash()
e
File.moveToTrashAsync()
che spostano un file o una directory nel cestino del sistema.