File sınıfı dosyaları veya dizinleri kopyalamak için iki yöntem içerir:
copyTo()
ve
copyToAsync()
. File sınıfı dosyaları veya dizinleri taşımak için iki yöntem içerir:
moveTo()
ve
moveToAsync()
.
copyTo()
ve
moveTo()
yöntemleri senkronize çalışır;
copyToAsync()
ve
moveToAsync()
yöntemleri senkronize olmayan bir şekilde çalışır (bkz.
AIR dosyası temel bilgileri
).
Bir dosyayı kopyalamak veya taşımak için iki File nesnesi ayarlarsınız. Biri kopyalanacak veya taşınacak olan dosyaya işaret eder, bu copy veya move yöntemini çağıran nesnedir; diğeri hedef (sonuç) yoluna işaret eder.
Aşağıdaki örnek bir test.txt dosyasını kullanıcı documents dizininin AIR Test alt dizininden aynı dizindeki copy.txt adlı dosyaya taşır:
var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
Bu örnekte
copyTo()
yönteminin
overwrite
parametresinin (ikinci parametre) değeri
true
olarak ayarlıdır.
overwrite
değerini
true
olarak ayarlayarak varolan bir hedef dosyanın üzerine yazılır. Bu parametre isteğe bağlıdır. Bu değeri
false
(varsayılan değer) olarak ayarlarsanız, hedef dosya mevcutsa işlem bir IOErrorEvent olayı gönderir (ve dosya kopyalanmaz).
copy ve move yöntemlerinin “Senkronize olmayan” sürümleri senkronize olmayan bir şekilde çalışır. Aşağıdaki kodda olduğu gibi, görev veya hata durumlarının tamamlanmasını izlemek için
addEventListener()
yöntemini kullanın:
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.");
}
File sınıfı ayrıca
File.moveToTrash()
ve
File.moveToTrashAsync()
yöntemlerini de içerir, bu yöntemler bir dosyayı veya dizini sistem çöp kutusuna taşır.