Dosyalarla çalışma

Adobe AIR 1.0 ve üstü

AIR dosya API'sini kullanarak uygulamalarınıza temel dosya etkileşim özellikleri ekleyebilirsiniz. Örneğin dosyaları okuyabilir, yazabilir, kopyalayabilir ve silebilir, vb. işlemler gerçekleştirebilirsiniz. Uygulamalarınız yerel dosya sistemine erişebileceği için, önceden yapmadıysanız AIR güvenliği bölümüne bakın.

Not: Bir dosya türünü AIR uygulamasıyla ilişkilendirebilirsiniz. (Böylece uygulama çift tıklatılarak açılabilir.) Ayrıntılar için bkz. Dosya ilişkilendirmelerini yönetme.

Dosya bilgilerini alma

File sınıfı, bir File nesnesinin işaret ettiği dosya veya dizin hakkında bilgi sağlayan aşağıdaki özellikleri içerir:

Dosya özelliği

Açıklama

creationDate

Yerel diskteki dosyanın oluşturulma tarihi.

creator

Geçersiz—extension özelliğini kullanın. (Bu özellik dosyanın Macintosh oluşturucu türünü bildirir, bu yalnızca Mac OS X'ten önceki Mac OS sürümlerinde kullanılır.)

downloaded

(AIR 2 ve üstü) Başvurulan dosyanın veya dizinin indirilip indirilmediğini (İnternet’ten) belirtir. özellik yalnızca dosyaların indirildi olarak işaretlenebildiği işletim sistemlerinde anlamlıdır.

  • Windows XP servis paketi 2 ve sonrasında ve Windows Vista'da

  • Mac OS 10.5 ve sonrasında

exists

Başvurulan dosyanın veya dizinin var olup olmadığı.

extension

Son noktanın (".") arkasından gelen (noktayı içermeyen) adın bir parçası olan dosya uzantısı. Dosya adında nokta yoksa, uzantı null değerine sahiptir.

icon

Dosya için tanımlanan simgeleri içeren bir Icon nesnesi.

isDirectory

File nesnesi başvurusunun bir dizine yönelik olup olmadığı.

modificationDate

Yerel diskteki dosyanın veya dizinin son değiştirilme tarihi.

name

Yerel diskteki dosyanın veya dizinin adı (varsa dosya uzantısını da içeren).

nativePath

Ana bilgisayar işletim sistemi temsilcisindeki tam yol. Bkz. File nesnelerinin Yolları.

parent

File nesnesi tarafından temsil edilen klasörü veya dosyayı içeren klasör. File nesnesi dosya sisteminin kökündeki bir dosyaya veya dizine başvuruyorsa, bu özellik null değerindedir.

size

Yerel diskteki dosyanın bayt olarak boyutu.

type

Geçersiz—extension özelliğini kullanın. (Macintosh'ta bu özellik dört karakterli dosya türüdür, bu tür yalnızca Mac OS X'ten önceki Mac OS sürümlerinde kullanılır.)

url

Dosyanın veya dizinin URL'si. Bkz. File nesnelerinin Yolları.

Bu özelliklerle ilgili ayrıntılı bilgi için, Adobe Flash Platform için ActionScript 3.0 Başvurusu bölümündeki File sınıfı girişine bakın.

Dosyaları kopyalama ve taşıma

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.

Bir dosyayı silme

File sınıfı bir deleteFile() ve bir deleteFileAsync() yöntemi içerir. İlki senkronize, ikincisi senkronize olmayan bir şekilde çalışan bu yöntemler dosyaları siler (bkz. AIR dosyası temel bilgileri).

Örneğin aşağıdaki kod kullanıcının documents dizinindeki test.txt dosyasını senkronize olarak siler:

var file:File = File.documentsDirectory.resolvePath("test.txt"); 
file.deleteFile(); 

Aşağıdaki kod kullanıcının documents dizininin test.txt dosyasını senkronize olmayan bir şekilde siler:

var file:File = File.documentsDirectory.resolvePath("test.txt"); 
file.addEventListener(Event.COMPLETE, completeHandler) 
file.deleteFileAsync(); 
 
function completeHandler(event:Event):void { 
    trace("Deleted.") 
} 

Ayrıca, bir dosyayı veya dizini Sistem çöp kutusuna taşımak için kullanabileceğiniz moveToTrash() ve moveToTrashAsync() yöntemleri de bulunmaktadır. Ayrıntılar için bkz. Bir dosyayı çöp kutusuna taşıma.

Bir dosyayı çöp kutusuna taşıma

File sınıfı bir moveToTrash() ve bir moveToTrashAsync() yöntemi içerir. Bu yöntemler bir dosyayı veya dizini Sistem çöp kutusuna gönderir, ilki senkronize, ikincisi senkronize olmayan bir şekilde çalışır (bkz. AIR dosyası temel bilgileri).

Örneğin aşağıdaki kod kullanıcının documents dizinindeki test.txt dosyasını senkronize olarak Sistem çöp kutusuna gönderir:

var file:File = File.documentsDirectory.resolvePath("test.txt"); 
file.moveToTrash(); 
Not: Kurtarılabilir çöp klasörü konseptini desteklemeyen işletim sistemlerinde dosyalar hemen kaldırılır.

Geçici bir dosya oluşturma

File sınıfı, aşağıdaki örnekte olduğu gibi Sistem için geçici bir dizin klasöründe bir dosya oluşturan createTempFile() yöntemini içerir.

var temp:File = File.createTempFile(); 

createTempFile() yöntemi otomatik olarak benzersiz bir geçici dosya oluşturur. (Yeni bir benzersiz konum belirlemekle uğraşmamış olursunuz.)

Geçici bir dosyayı, bir uygulama oturumu için kullanılan bilgileri geçici olarak saklamak için kullanabilirsiniz. Ayrıca Sistem geçici dizininde benzersiz geçici bir dizin oluşturmak için createTempDirectory() yönteminin bulunduğunu unutmayın.

Tüm aygıtlarda otomatik olarak silinmediğinden, uygulamayı kapatmadan önce geçici dosyayı silmek isteyebilirsiniz.