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.