`
zwnJava
  • 浏览: 205717 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Air copyTo复制文件错误SecurityError: fileWriteResource

AIR 
阅读更多

SecurityError: fileWriteResource 此错误发生在: This error occured when i tried to write in a file which was in my applicationDirectory. (此错误发生在当在应用程序目录下写文件时)。

当在 applicationDirectory (应用程序)目录下进行 复制文件时就会出现:SecurityError: fileWriteResource 。

出现此错误的例子:

private function copyToDir():void{
    var sourceFile:File=File.applicationDirectory.resolvePath("images/img01.png");
    var destination:File=File.applicationDirectory.resolvePath("test.png");
    try {
      sourceFile.copyTo(destination,true);
    } catch(error:IOError) {
      trace("IOError:",error.errorID," ",error.message);
    }catch(e:Error){
      trace("Error:",error.message);    
    }

}

出现:SecurityError: fileWriteResource 错误

解决方法:

根据 目标目录的绝对地址创建一个绝对地址的 File 再进行复制操作。

例子:

private function copyToDir():void{
    var sourceFile:File=File.applicationDirectory.resolvePath("images/img01.png");
    var rootDir:File = File.applicationDirectory;
    var destination:File=new File(rootDir.nativePath+"/test.png");

   if(sourceFile.exists){
        trace("sourceFile存在:",sourceFile.nativePath);
   }
   try {
         sourceFile.copyTo(destination,true);
   } catch(error:IOError) {
         trace("IOError:",error.errorID," ",error.message);
    } catch(e:Error){
           trace("Error:",e.message);   
   }

}

结果 :成功.

----------------------------------------------------------------------------------------------------------------------------------

另外写文件的例子:

var applicationDirectoryPath:File = File.applicationDirectory;
var nativePathToApplicationDirectory:String = applicationDirectoryPath.nativePath.toString();
nativePathToApplicationDirectory+= "/my-config.mxml";
var file:File = new File(nativePathToApplicationDirectory);

var filestream:FileStream = new FileStream();
filestream.open(file, FileMode.WRITE);
filestream.writeUTFBytes("My Text");
filestream.close();

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics