load() ve save() yöntemlerini kullanma

Flash Player 10 ve üstü, Adobe AIR 1.5 ve üstü

Flash Player 10, FileReference sınıfına load() ve save() yöntemlerini eklemiştir. Bu yöntemler AIR 1.5'te de bulunur ve File sınıfı yöntemleri FileReference sınıfından miras alır. Bu yöntemler kullanıcıların Flash Player'da dosya verilerini yüklemeleri ve kaydetmeleri için güvenli bir yol sağlamak üzere tasarlanmıştır. Ancak, AIR uygulamaları bu yöntemleri dosyaları senkronize olmayan şekilde yükleme ve kaydetmenin kolay bir yolu olarak da kullanabilir.

Örneğin, aşağıdaki kod bir dizeyi metin dosyasına kaydeder.

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
var str:String = "Hello."; 
file.addEventListener(Event.COMPLETE, fileSaved); 
file.save(str); 
function fileSaved(event:Event):void 
{ 
    trace("Done."); 
}

save() yönteminin data parametresi bir String, XML veya ByteArray değeri alabilir. Argüman bir String veya XML değeri olduğunda, yöntem dosyayı UTF-8 kodlu bir metin dosyası olarak kaydeder.

Bu kod örneği yürütüldüğünde, uygulama kullanıcının kaydedilen dosya hedefini seçtiği bir iletişim kutusu görüntüler.

Aşağıdaki kod, UTF-8 kodlu metin dosyasından bir dize yükler:

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
file.addEventListener(Event.COMPLETE, loaded); 
file.load(); 
var str:String; 
function loaded(event:Event):void 
{ 
    var bytes:ByteArray = file.data; 
    str = bytes.readUTFBytes(bytes.length); 
    trace(str); 
}

FileStream sınıfı, load() ve save() yöntemlerinin sağladığından daha fazla işlev sağlar:

  • FileStream sınıfını kullanarak, verileri senkronize ve senkronize olmayan biçimde okuyabilir ve yazabilirsiniz.

  • FileStream sınıfını kullanarak, bir dosyaya artımlı olarak yazabilirsiniz.

  • FileStream sınıfının kullanılması rastgele erişim için dosya açabilmenizi sağlar (dosyanın herhangi bir bölümünden okuyarak veya herhangi bir bölümüne yazarak).

  • FileStream sınıfı, open() veya openAsync() yönteminin fileMode parametresini ayarlayarak dosyaya olan erişiminizin türünü belirlemenize olanak verir.

  • FileStream sınıfı, kullanıcıya Açma veya Kaydetme iletişim kutusunu sunmadan verileri kaydedebilmenizi sağlar.

  • FileStream sınıfıyla verileri okuma sırasında bayt dizileri dışındaki türleri doğrudan kullanabilirsiniz.