ADN Open CIS
Сообщество программистов Autodesk в СНГ

15/11/2015

Особенности, характерные для JavaScript - Часть 3

Инструменты операционной системы

Код JavaScript выполняется в контексте веб-браузера. При работе в контексте веб-браузера, доступ к локальным ресурсам системы (например, файловой системе, системному реестру и т.д.) полностью ограничен. Для JavaScript Fusion API предоставляет несколько вспомогательных функций, чтобы обеспечить доступ к этим, в противном случае ограниченным, системным ресурсам. Эти инструментальные функции позволяют сценариям выполнять такие действия, как чтение и запись файлов в файловой системе пользователя, которые обычно необходимы при написании программ, связанных с САПР. Предусмотрены следующие вспомогательные функции.

adsk.readFile

Описание

Читает и возвращает содержимое файла. Если файл не найден, не может быть открыт или прочтен, возвращается undefined. Если файла успешно прочитан, возвращается объект ArrayBuffer с массивом байтов файла.

Синтаксис

adsk.readFile(filename)

Аргументы

  • filename

Полное имя файла (с путём), который следует открыть и прочитать. Тип String.

adsk.writeFile

Описание

Записывает содержимое в файл. Если данные представляют собой строки, содержимое записывается в файл с кодировкой UTF-8. Если данные представляют собой ArrayBuffer, содержимое будет записано в виде двоичных байт. Возвращает true, если данные успешно записываются в файл.

Синтаксис

adsk.writeFile(filename, data, [mode])

Аргументы

  • filename

Его полное имя файла для открытия и записи. Тип String.

  • data

Содержит данные для записи в файл. Тип ArrayBuffer или String.

  • mode

Режим, использующийся при открытии файла. Допустимые значения: "append" и "truncate". "append" будет добавлять данные в конец существующего файла (если таковые имеются). "truncate" - по умолчанию - будет заменять существующее содержимое файла с данными.

adsk.copyFile

Описание

Копирует указанный файл или папку в место назначения. Возвращает true, если файл или папка были успешно скопированы.

Синтаксис

adsk.copyFile(fromFilename, toFilename)

Аргументы

  • fromFilename

Полное имя, файла или папки, для копирования. Тип String.

  • toFilename

Полное имя файла или папки назначения. Тип String.

adsk.renameFile

Описание

Переименование указанного файла или папки. Возвращает true, если файл или папка были успешно переименованы.

Синтаксис

adsk.renameFile(fromFilename, toFilename)

Аргументы

  • fromFilename

Полное имя файла или папки для переименования. Тип String.

  • toFilename

Полное имя нового файла или папки.

adsk.removeFile

Описание

Удаляет указанный файл или папку. Возвращает true, если файл или папка были успешно удалены.

Синтаксис

adsk.removeFile(filename)

Аргументы

  • filename

Полное имя файла или папки для удаления. Тип String.

adsk.createDirectory

Описание

Создает новую папку на указанном месте. Возвращает true, если папка была создана успешно.

Синтаксис

adsk.createDirectory(filename)

Аргументы

  • filename

Полный путь к новой папке. Тип String.

adsk.listDirectoryFiles

Описание

Список файлов, содержащихся в указанной папке. Возвращает массив строк, с полным именем файла для каждого результирующего файла из поиска. Возвращает undefined, если произошел сбой любого рода.

Синтаксис

adsk.listDirectoryFiles(filename, regularFilesOnly, recursive)

Аргументы

  • filename

Полный путь к папке, для которого необходимо получить список файлов в нём.

  • regularFilesOnly

Логическое значение, указывающее, должны ли быть возвращены только обычные файлы на диске. Если это так, то файлы такие как символьные ссылки, не будут включены в результаты.

  • recursive

Логическое значение, указывающее, если надо произвести рекурсивный поиск в подкаталогах.

adsk.fileExists

Описание

Проверяет, существует ли указанный файл или папка в файловой системе. Возвращает true, если файл или папка существует.

Синтаксис

adsk.fileExists(filename)

Аргументы

  • filename

Полный путь к файлу или папке, который надо искать.

adsk.fileIsDirectory

Описание

Проверяет, является ли указанный путь является папкой. Возвращает true, если по указанному пути находится папка.

Синтаксис

adsk.fileIsDirectory(filename)

Аргументы

  • filename

Полный путь к папке. Тип String.

adsk.fileSize

Описание

Возвращает размер файла в байтах. Возвращает undefined при сбое. Тип Number.

Синтаксис

adsk.fileSize(filename)

Аргументы

  • filename

Полное имя файла, тип String.

adsk.tempDirectory

Описание

Возвращает полный путь ко временной папке операционной системы.Возвращает undefined при сбое. Тип String.

Синтаксис

adsk.tempDirectory()

adsk.toBase64

Описание

Кодирует указанный массив байтов в строку Base64. Возвращает строку Base64.

Синтаксис

adsk.toBase64(buffer)

Аргументы

  • buffer

Байты ArrayBuffer для кодирования в строку Base64.

adsk.fromBase64

Описание

Декодирует указанную строку Base64 в массив байтов. Возвращает ArrayBuffer, содержащий декодированные байты.

Синтаксис

adsk.fromBase64(encoded)

Аргументы

  • encoded

Действительные кодировки Base64. Тип String,

adsk.utf8ToString

Описание

Преобразовывает указанный закодированный массив байтов UTF-8 в строку JavaScript UTF-8. Возвращает строку с результатом.

Синтаксис

adsk.utf8ToString(buffer)

Аргументы

  • buffer

Uint8Array или ArrayBuffer, содержащий кодированный массив UTF-8.

Источник: http://help.autodesk.com/view/NINVFUS/ENU/?guid=GUID-C081FA71-4541-4CA5-AA08-7343EF6701B4

 

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=3204

Опубликовано 15.11.2015
Отредактировано 20.12.2015 в 15:32:54