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 に答える