写入文件Adobe AIR时抛出错误3013

时间:2011-12-21 10:38:33

标签: air file-writing

我正在尝试从AIR应用程序编写/创建JSON文件,我试着不要显示“另存为”对话框。

这是我正在使用的代码:

var fileDetails:Object = CreativeMakerJSX.getFileDetails();
var fileName:String = String(fileDetails.data.filename);
var path:String = String(fileDetails.data.path);
var f:File = File.userDirectory.resolvePath( path );
var stream:FileStream = new FileStream();
stream.open(f, FileMode.WRITE );
stream.writeUTFBytes( jsonToExport );
stream.close();

我遇到的问题是我收到了'错误3013.正在使用的文件或目录'。目录/路径是从我正在构建的Creative Suite Extension中收集的,此路径与正在使用扩展的CS中开发的FLA相同。

所以我不确定问题是我正在编写JSON文件的目录中是否已存在文件?

我是否需要添加一个计时器才能在稍微延迟后关闭流,为写文件留出一些时间?

2 个答案:

答案 0 :(得分:0)

您可以设置一些trace()命令吗?我需要知道String变量的值是什么,以及f.url

您可以从文件中读取您要写入的内容,还是什么都不起作用?

CreativeMakerJSX.getFileDetails()来自哪里?它是否为您提供有关正在使用的文件的数据?

从谷歌搜索,这似乎可能是一个错误。如果您以前打开了文件,请尝试在完成后设置监听器。

答案 1 :(得分:-1)

我重写了文件的编写方式,不再遇到这个问题。