De klasse File bevat twee methoden voor het kopiëren van bestanden of mappen:
copyTo()
en
copyToAsync()
. De klasse File bevat twee methoden voor het verplaatsen van bestanden of mappen:
moveTo()
en
moveToAsync()
. De methoden
copyTo()
en
moveTo()
werken synchroon, de methoden
copyToAsync()
en
moveToAsync()
asynchroon (zie
Basisinformatie over AIR-bestanden
).
Als u een bestand wilt kopiëren of verplaatsen, stelt u twee File-objecten in. Een van deze objecten wijst het bestand aan dat u wilt kopiëren of verplaatsen. Dit is het object dat de kopieer- of verplaatsingsmethode oproept. Het andere object wijst het doelpad (resultaat) aan.
Met de volgende code kopieert u het bestand test.txt van de submap AIR Test van de documentenmap van de gebruiker naar het bestand copy.txt in dezelfde map:
var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
In dit voorbeeld is de waarde van de parameter
overwrite
van de methode
copyTo()
(de tweede parameter) ingesteld op
true
. Door
overwrite
in te stellen op
true
, wordt een bestaand doelbestand overgeschreven. Deze parameter is optioneel. Als u de parameter instelt op
false
(de standaardwaarde), verzendt de bewerking de gebeurtenis IOErrorEvent als het doelbestand al bestaat. Het bestand wordt dan niet gekopieerd.
De “Async”-versies van de kopieer- en verplaatsingsmethoden werken asynchroon. Gebruik de methode
addEventListener()
om te controleren of de taak al is voltooid, en of er eventuele fouten zijn opgetreden, bijvoorbeeld met de volgende code:
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.");
}
De klasse File bevat ook de methoden
File.moveToTrash()
en
File.moveToTrashAsync()
, die een bestand of map naar de systeemprullenbak verplaatsen.