我在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函数。但是当我尝试将同一个文件移动到其他目录时,它可以正常工作。我怎样才能做到这一点。感谢
答案 0 :(得分:1)
只有一件事:你不能写入应用程序目录,它是一个灵活的安全性。
你无能为力,抱歉。考虑使用另一个目录。就个人而言,我改为使用应用程序存储目录。