Klassen File omfattar två metoder för att kopiera filer eller kataloger:
copyTo()
och
copyToAsync()
. Klassen File omfattar två metoder för att flytta filer eller kataloger:
moveTo()
och
moveToAsync()
. Metoderna
copyTo()
och
moveTo()
fungerar synkront, och metoderna
copyToAsync()
och
moveToAsync()
fungerar asynkront (se
Grunderna för AIR-filer
).
Om du vill kopiera eller flytta en fil ska du ställa in två File-objekt. Ett pekar mot filen som ska kopieras eller flyttas, och detta är objektet som anropar metoden copy eller move. Det andra pekar mot målsökvägen (resultatet).
Koden nedan kopierar en test.txt-fil från underkatalogen AIR Test i användarens dokumentkatalog till en fil med namnet copy.txt i samma katalog:
var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
I det här exemplet ställs värdet på parametern
overwrite
för metoden
copyTo()
(den andra parametern) in på
true
. Genom att ställa in
overwrite
på
true
skrivs en befintlig målfil över. Den här parametern är valfri. Om du ställer in den på
false
(standardvärdet) skickar åtgärden en IOErrorEvent-händelse om målfilen finns (och filen kopieras inte).
”Async”-versionerna av metoderna copy och move fungerar asynkront. Använd metoden
addEventListener()
om du vill övervaka hur uppgiften genomförs eller felvillkoren, som i koden nedan:
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.");
}
Klassen File omfattar också metoderna
File.moveToTrash()
och
File.moveToTrashAsync()
, som flyttar en fil eller katalog till systemets papperskorg.