Korzystanie z metod load() i save()

Flash Player 10 i nowsze wersje, Adobe AIR 1.5 i nowsze wersje

Metody load() i save() zostały dodane do klasy FileReference przez program Flash Player 10. Te metody są zawarte również w środowisku AIR 1.5, a klasa File dziedziczy metody z klasy FileReference. Te metody zostały zaprojektowane w celu udostępnienia użytkownikom bezpiecznych sposobów na ładowanie i zapisywanie danych plików w programie Flash Player. Jednak aplikacje AIR również mogą korzystać z tych metod jako łatwego sposobu na asynchroniczne ładowanie i zapisywanie plików.

Na przykład poniższy kod zapisuje ciąg znaków do pliku tekstowego:

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."); 
}

Parametr data metody save() może pobrać wartość String, XML lub ByteArray. Jeśli argumentem jest wartość String lub XML, metoda zapisuje plik jako plik tekstowy z kodowaniem UTF-8.

W momencie wykonania tego przykładowego kodu aplikacja wyświetli okno dialogowe, w którym użytkownik będzie mógł wybrać miejsce docelowe dla zapisywanego pliku.

Poniższy kod ładuje ciąg znaków z pliku tekstowego z kodowaniem UTF-8:

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); 
}

Klasa FileStream udostępnia więcej funkcji niż ta udostępniona przez metody load() and save() :

  • Za pomocą klasy FileStream można odczytywać i zapisywać dane w sposób synchroniczny i asynchroniczny.

  • Klasa FileStream umożliwia stopniowe zapisywanie do pliku.

  • Klasa FileStream umożliwia otwieranie pliku z dostępem losowym (odczyt z i zapis do dowolnej sekcji pliku).

  • Klasa FileStream umożliwia określanie typu dostępu do pliku przez ustawienie parametru fileMode metody open() lub openAsync() .

  • Klasa FileStream umożliwia zapisywanie danych do plików bez wyświetlania użytkownikowi okna dialogowego otwierania lub zapisywania.

  • Podczas odczytywania danych z klasy FileStream można bezpośrednio korzystać również z innych typów niż tablica bajtów.