Некорректная работа функции .write()в JS - help

  • Автор темы Автор темы Sekir
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sekir

Участник
Топикстартер
Сообщения
191
Реакции
1
Всем день добрый!

При попытке использования в JS конструкции типа file.write(story) происходит запись пустого файла, независимо от того, что передается функции в качестве story.

Кто знает в чем дело, помогите плиз.
 
Ответ: Некорректная работа функции .write()в JS - help

А что передается в качестве File? И бывает ли такое, что File как бы не open?

PS. Как раз в нынешней рассылке THINK.JS этот вопрос был подробно рассмотрен.
 
Ответ: Некорректная работа функции .write()в JS - help

В качестве File идет примерно такая конструкция:

file_name = app.activeDocument.name+".txt";
file = new File(file_name);
...

file.open("w");
file.write(story);
file.close();

Файл на диске создается все время, но только пустой ((.


Не по теме:
Увы, данную безусловно полезную рассылку не получаю из за неимения возможности оплачивать оную
 
Ответ: Некорректная работа функции .write()в JS - help

А story - это чего такое?
 
story - это ID story.contents

Собственно говоря, целью проектируемого скрипта является экспорт story's из док-та ID в текстовые файлы выборочно по определенным параметрам.

Пробовал давать для записи и другие объекты (text, paragraph, string) - результат тот же...

Использовать ф-цию .exportFile не выходит по причине того, что переписывается файл каждый раз для отдельной story или иного объекта.
 
Ответ: story - это ID story.contents

А не логичнее сохранять в файл story.contents?
 
Вот и не выходит это...

Даже вот разыскал на AdobeExchange готовый скрипт для записи всех story в файл - не работает... Может эта фунция просто на Macintosh'е не идет?
 
Ответ: Вот и не выходит это...

Нет никакой разницы - на маке или на пц. В качестве параметра write() передается СТРОКОВАЯ ПЕРЕМЕННАЯ, а не объяекты типа story, paragraph, etc... Если файл открыт с ключом "w", то содержимое в любом случае перепишется, для редактирования нужен ключ "e".
Так что естественный выход - подготавливать грамотно текст и писать его в файл аккуратно и за один раз.
 
Кое что интересное про .write...

Обнаружил в работе этой функции одну особенность - если появляется хотя бы 1 символ в кириллице, то пишется файл без содержимого, иначе все работает ))...
 
Ответ: Кое что интересное про .write...

При создании файла всегда невредно в явном виде указать его кодировку. Если мне не изменяет память то по умолчанию - это ASCII. Отсюда и все проблемы. Еще рекомендую рассматривать значения, возвращаемые функциями .open, .write и т.п. Они бывают информативны. ;-)

AirGraph
 
Статус
Закрыто для дальнейших ответов.