FileStream OpenAsync抛出错误#1009



嗨,我在fileStream openasync读取文件中有问题

    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上我获得错误:"错误#1009:无法访问null对象参考的属性或方法。" 我缺少什么,如何从openasync中读取对象?

谢谢

您永远不会初始化对象ob,当然可以访问null对象的字段#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();

最新更新