2017-02-22 10 views
2

Привет У меня есть проблема относительно FileStream openAsync чтения файла, у меня есть слушателя и ожидание полногоFileStream openAsync Выдает Error # 1009

var file:File = File.applicationStorageDirectory.resolvePath(fName+'.'+EXT); 
    var fileStream:FileStream = new FileStream(); 


    if (!file.exists) { 
       this.dispatchEvent(new AppEvent(AppEvent.DATA, null, false));           

    }else { 

     fileStream.addEventListener(Event.COMPLETE, fileReadCompleteHandler); 
     fileStream.openAsync(file, FileMode.READ); 
     fileStream.addEventListener(Event.CLOSE, fileClosedHandler); 
     fileStream.addEventListener(IOErrorEvent.IO_ERROR, IOErrorHandler); 
    } 


    private function fileReadCompleteHandler(event:Event):void { 
     var ob:Object; 
     var fileStream:FileStream = FileStream(event.currentTarget); 

     try { 
      ob.source = fileStream.readObject(); 
     }catch (e:Error) { 
      trace('error:' + e.message) 
     } 

     fileStream.removeEventListener(Event.COMPLETE, fileReadCompleteHandler); 
     fileStream.close(); 

     } 

на fileReadCompleteHandler я получаю сообщение об ошибке: «Error # 1009: Не удается получить доступ к свойство или метод ссылки на нулевой объект ". Что мне не хватает, как я могу прочитать объект из openAsync?

благодарит

+0

Вы можете разделить стек отслеживать ошибку? Без номера строки трудно понять, где возникает ошибка. – joshtynjala

ответ

2

Вы никогда не инициализировать объект О.Б., конечно, обращающиеся поля нулевой объект дает # 1009:

var ob:Object; 
    var fileStream:FileStream = FileStream(event.currentTarget); 

    try { 
     ob.source = fileStream.readObject(); 

Вам нужно:

var ob:Object = new Object; 
    var fileStream:FileStream = FileStream(event.currentTarget); 

    try { 
     ob.source = fileStream.readObject(); 
+0

Вы правы Организм, это была моя ошибка, теперь она работает так, как ожидалось –

Смежные вопросы