0

我在 adobe air 中有一个更新实用程序,需要替换应用程序目录中的现有文件。但是当我尝试在应用程序目录中移动文件时,它会抛出 IOError 描述该文件无法删除。

我做了以下事情;

protected function onBtnTest(event:MouseEvent):void
{    
  try
  {
    service = new File(File.applicationDirectory.nativePath + File.separator +
      "assets" + File.separator + "oldFile.exe");        

    servic_ = new File(File.userDirectory.nativePath + File.separator + "newFile.exe");

    servic_.addEventListener(Event.COMPLETE, OnMoveComplete);
    servic_.addEventListener(IOErrorEvent.IO_ERROR, OnIOError);


    if(service.exists)
      servic_.moveToAsync(service, true);

  }
  catch(err:Error)
  {
    trace(err.message);
  }


}

private function OnMoveComplete(event:Event):void
{
  trace("Move Complete.");      
  trace("File Deleted.");
}

private function OnIOError(event:IOErrorEvent):void
{
  trace("OnIOError.");     
}

它总是执行 OnIOError 函数。但是当我尝试将相同的文件移动到其他目录时它工作正常。我怎样才能做到这一点。谢谢

4

1 回答 1

1

只有一件事:您不能写入应用程序目录,这是一种弹性安全性。

你无能为力,对不起。考虑使用另一个目录。就个人而言,我使用应用程序存储目录。

于 2013-08-14T09:03:38.943 回答