Dosyalarla çalışmaAdobe 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 almaFile sınıfı, bir File nesnesinin işaret ettiği dosya veya dizin hakkında bilgi sağlayan aşağıdaki özellikleri içerir:
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şımaFile 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ı silmeFile 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şımaFile 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şturmaFile 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. |
|