Inicjowanie obiektu FileStream oraz otwieranie i zamykanie plikówAdobe AIR 1.0 i wersje późniejsze Otwarty obiekt FileStream staje się dostępny do odczytu i zapisu danych w pliku. Obiekt FileStream należy otworzyć poprzez przekazanie obiektu File do metody open() lub openAsync() obiektu FileStream: var myFile:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var myFileStream:FileStream = new FileStream();
myFileStream.open(myFile, FileMode.READ);
Parametr fileMode (drugi parametr metod open() i openAsync()) określa tryb, w którym plik zostanie otwarty: do odczytu, zapisu, dołączania lub aktualizacji. Szczegółowe informacje zawiera poprzednia sekcja Tryby otwierania FileStream. Jeśli metoda openAsync() jest używana do otwierania pliku dla asynchronicznych operacji na pliku, należy skonfigurować detektory zdarzeń w celu obsługi zdarzeń asynchronicznych: var myFile:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var myFileStream:FileStream = new FileStream();
myFileStream.addEventListener(Event.COMPLETE, completeHandler);
myFileStream.addEventListener(ProgressEvent.PROGRESS, progressHandler);
myFileStream.addEventListener(IOErrorEvent.IOError, errorHandler);
myFileStream.open(myFile, FileMode.READ);
function completeHandler(event:Event):void {
// ...
}
function progressHandler(event:ProgressEvent):void {
// ...
}
function errorHandler(event:IOErrorEvent):void {
// ...
}
Plik jest otwierany dla operacji synchronicznych lub asynchronicznych w zależności od tego, czy użyto metody open() czy metody openAsync(). Szczegółowe informacje zawiera sekcja Podstawowe informacje o plikach AIR. Jeśli dla parametru fileMode ustawiono wartość FileMode.READ lub FileMode.UPDATE w metodzie open obiektu FileStream, wówczas dane zostają wczytane do bufora odczytu po otwarciu obiektu FileStream. Szczegółowe informacje zawiera sekcja Bufor odczytu oraz właściwość bytesAvailable obiektu FileStream. Metoda close() obiektu FileStream służy do zamykania skojarzonego pliku, co sprawia, że plik staje się dostępny dla innych aplikacji. |
|