Jeśli plik został otwarty asynchronicznie (za pomocą metody
            
             openAsync()
            
            ), wówczas odczyt i zapis plików odbywa się asynchronicznie. W miarę wczytywania danych do buforu odczytu oraz zapisywania danych wyjściowych możliwe jest wykonywanie innego kodu ActionScript.
           
           
            To oznacza, że konieczne jest zarejestrowanie dla zdarzeń wygenerowanych przez obiekt FileStream otwarty asynchronicznie.
           
           
            Zarejestrowanie dla zdarzenia
            
             progress
            
            sprawia, że użytkownik może być powiadamiany w miarę udostępniania nowych danych dla odczytu, jak w poniższym kodzie:
           
           var myFile:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); 
var myFileStream:FileStream = new FileStream(); 
myFileStream.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
myFileStream.openAsync(myFile, FileMode.READ); 
var str:String = ""; 
 
function progressHandler(event:ProgressEvent):void  
{ 
    str += myFileStream.readMultiByte(myFileStream.bytesAvailable, "iso-8859-1"); 
} 
           
            Możliwe jest odczytanie wszystkich danych poprzez zarejestrowanie zdarzenia
            
             complete
            
            , jak w poniższym przykładzie:
           
           var myFile:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); 
var myFileStream:FileStream = new FileStream(); 
myFileStream.addEventListener(Event.COMPLETE, completed); 
myFileStream.openAsync(myFile, FileMode.READ); 
var str:String = ""; 
function completeHandler(event:Event):void  
{ 
    str = myFileStream.readMultiByte(myFileStream.bytesAvailable, "iso-8859-1"); 
} 
           
            W bardzo podobny sposób dane wejściowe są buforowane, co umożliwia odczyt asynchroniczny — dane zapisywane w strumieniu asynchronicznym są buforowane i zapisywane do pliku w sposób asynchroniczny. W miarę zapisywania danych do pliku obiekt FileStream okresowo wywołuje obiekt
            
             OutputProgressEvent
            
            . Obiekt
            
             OutputProgressEvent
            
            zawiera właściwość
            
             bytesPending
            
            , która jest ustawiona na liczbę bajtów pozostałych do zapisania. Użytkownik może zarejestrować się dla zdarzenia
            
             outputProgress
            
            , dzięki czemu będzie powiadamiany w miarę zapisywania buforu do pliku — być może w celu wyświetlenia okna dialogowego postępu. Jednak zwykle nie jest to konieczne. Możliwe jest wywołanie metody
            
             close()
            
            bez konieczności sprawdzania niezapisanych bajtów. Obiekt FileStream będzie kontynuował zapisywanie danych, a zdarzenie
            
             close
            
            zostanie wygenerowane po zapisaniu ostatniego bajtu do pliku i zamknięciu pliku.