我在 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 函数。但是当我尝试将相同的文件移动到其他目录时它工作正常。我怎样才能做到这一点。谢谢