0

我正在尝试从 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 扩展中收集的,此路径与正在使用该扩展的 CS 中开发的 FLA 相同。

所以我不确定问题是否是我正在向其中写入 JSON 文件的目录中已有文件?

我是否需要添加一个计时器以便在稍有延迟后关闭流,给一些时间来写入文件?

4

2 回答 2

0

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

您可以从您尝试写入的文件中读取数据,还是没有任何作用?

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

从谷歌搜索来看,这似乎是一个错误。如果您之前打开过文件,请尝试在完成时设置一个侦听器。

于 2011-12-31T06:15:26.787 回答
-1

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

于 2012-01-11T11:01:25.497 回答