ошибка 3013 выдается при записи файла Adobe AIR - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь написать / создать файл JSON из приложения AIR, я пытаюсь не отображать диалоговое окно «Сохранить как».

Вот код, который я использую:

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, которое я создаю, этот путь совпадает с FLA, разрабатываемым в CS, с которым используется расширение.

Так что я не уверен, что проблема в том, что в каталоге уже есть файлы, в которые я записываю файл JSON?

Нужно ли добавить таймер, чтобы закрытьпоток после небольшой задержки, давая некоторое время для записи файла?

Ответы [ 2 ]

0 голосов
/ 11 января 2012

Я переписал, как файл был написан, больше не сталкивался с этой проблемой.

0 голосов
/ 31 декабря 2011

Можете ли вы настроить некоторые trace() команды? Мне нужно знать, каковы значения переменных String и f.url.

Можете ли вы прочитать файл, в который вы пытаетесь записать, или ничего не работает?

Откуда приходит CreativeMakerJSX.getFileDetails()? Предоставляет ли он вам данные о файле, который используется?

А из-за того, что Googling, это может быть ошибкой. Попробуйте настроить прослушиватель, когда вы закончите, если у вас был файл, открытый ранее.

...