Przepływ pracy odczytu i zapisu plików.

Adobe AIR 1.0 i starsze wersje

Przepływ pracy odczytu i zapisu plików jest następujący.

Należy zainicjować obiekt File, który będzie wskazywał na ścieżkę.

Obiekt File reprezentuje ścieżkę wybranego pliku (lub pliku, który zostanie utworzony później).

var file:File = File.documentsDirectory; 
file = file.resolvePath("AIR Test/testFile.txt"); 

W przykładzie wykorzystano właściwość File.documentsDirectory oraz metodę resolvePath() obiektu File w celu zainicjowania obiektu File. Istnieje jednak wiele innych sposobów na to, aby obiekt File wskazywał na plik. Więcej informacji zawiera sekcja Wskazywanie obiektu File na plik .

Inicjowanie obiektu FileStream.

Należy wywołać metodę open() lub metodę openAsync() obiektu FileStream.

Metoda, którą należy wywołać, jest uzależniona od tego, czy wymagane jest otwarcie pliku do operacji synchronicznych lub asynchronicznych. Obiekt File powinien być używany jako parametr file metody open(). Dla parametru fileMode należy określić stałą z klasy FileMode, która określa sposób używania pliku.

Przykład: poniższy kod inicjuje obiekt FileStream, który zostanie użyty do utworzenia pliku i zastąpienia istniejących danych:

var fileStream:FileStream = new FileStream(); 
fileStream.open(file, FileMode.WRITE); 

Więcej informacji zawierają sekcje Inicjowanie obiektu FileStream oraz otwieranie i zamykanie plików oraz Tryby otwierania FileStream .

Jeśli plik został otwarty asynchronicznie (za pomocą metody openAsync()), należy do obiektu FileStream dodać detektory zdarzeń i skonfigurować je.

Te metody detektorów zdarzeń reagują na zdarzenia wywoływane w różnych sytuacjach przez obiekt FileStream. Do sytuacji tych należy odczyt danych z pliku, wystąpienie błędów wejścia/wyjścia lub moment tuż przed lub tuż po zapisaniu wszystkich danych.

Szczegółowe informacje zawiera sekcja Asynchroniczne programowanie oraz zdarzenia wygenerowane przez obiekt FileStream otwarty asynchronicznie .

Dołączanie kodu dla odczytu i zapisu danych — w razie potrzeby.

Istnieje wiele metod klasy FileStream, które są przeznaczone do odczytu i zapisu. (Nazwa każdej z nich rozpoczyna się od słowa „read” lub „write”). Wybór metody do odczytu lub zapisu danych jest uzależniony od formatu danych w pliku docelowym.

Na przykład: jeśli dane w pliku docelowym mają format tekstu w formacie UTF, wówczas możliwe jest wykorzystanie metod readUTFBytes() i writeUTFBytes() . Jeśli dane będą traktowane jako tablice bajtowe, można użyć metod readByte() , readBytes() , writeByte() i writeBytes() . Szczegółowe informacje zawiera sekcja Formaty danych oraz wybór metod odczytu i zapisu .

Jeśli plik został otwarty w sposób asynchroniczny, przed wywołaniem metody należy upewnić się, że dostępna jest dostateczna ilość danych. Szczegółowe informacje zawiera sekcja Bufor odczytu oraz właściwość bytesAvailable obiektu FileStream .

Jeśli przed zapisaniem w pliku wymagane jest sprawdzenie ilości miejsca dostępnego na dysku, należy sprawdzić właściwość spaceAvailable obiektu File. Więcej informacji zawiera sekcja Określanie ilości miejsca dostępnego na woluminie .

Po zakończeniu pracy z plikiem należy wywołać metodę close() obiektu FileStream.

Po wywołaniu metody close() plik staje się dostępny dla innych aplikacji.

Szczegółowe informacje zawiera sekcja Inicjowanie obiektu FileStream oraz otwieranie i zamykanie plików .

Przykładową aplikację, w której wykorzystano klasę FileStream do odczytywania i zapisywania plików, zawierają poniższe artykuły na stronie Adobe AIR Developer Center: