Работа с файламиAdobe AIR 1.0 и более новых версий С помощью API-интерфейса файла AIR вы сможете добавить в свое приложение основные интерактивные возможности. Например, будет возможно читать и записывать файлы, копировать и удалять их, и многое другое. Так как у ваших приложений есть доступ к локальной файловой системе, ознакомьтесь с разделом Безопасность AIR, если вы еще этого не сделали. Примечание. Тип файла можно связывать с приложением AIR (чтобы при двойном щелчке по файлу он открывался в этом приложении). Дополнительные сведения см. в разделе Управление сопоставлением файлов.
Получение информации о файлеКласс File включает следующие свойства, содержащие информацию о файле или каталоге, на который указывает объект File:
Дополнительные сведения об этих свойствах см. в описании класса File в cправочнике ActionScript® 3.0 для платформы ® Flash® Platform. Копирование и перемещение файловКласс File содержит два метода для копирования файлов и каталогов: copyTo() и copyToAsync(). Класс File содержит два метода для перемещения файлов и каталогов: moveTo() и moveToAsync(). Методы copyTo() и moveTo() являются синхронными, а методы copyToAsync() и moveToAsync() — асинхронными (см. раздел «Основные сведения о файлах AIR»). Для копирования файла необходимо создать два объекта File. Один из них указывает на файл, который следует скопировать или переместить, и вызывает соответствующий метод, а второй указывает целевой путь (путь назначения). В примере ниже файл test.txt копируется из подкаталога AIR Test каталога документов пользователя в файл copy.txt в том же каталоге: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
В этом примере значение параметра overwrite метода copyTo() (второго параметра) равно true. При задании для overwrite значения true существующий целевой файл перезаписывается. Этот параметр не обязателен. При значении false (значение по умолчанию) операция отправляет событие IOErrorEvent, если целевой файл существует (при этом файл не копируется). Варианты методов копирования и перемещения, имеющие в названии элемент «Async», работают асинхронно. Метод addEventListener() позволяет отслеживать выполнение задачи или условия ошибки, как показано ниже: var original = File.documentsDirectory;
original = original.resolvePath("AIR Test/test.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("AIR Test 2/copy.txt");
original.addEventListener(Event.COMPLETE, fileMoveCompleteHandler);
original.addEventListener(IOErrorEvent.IO_ERROR, fileMoveIOErrorEventHandler);
original.moveToAsync(destination);
function fileMoveCompleteHandler(event:Event):void {
trace(event.target); // [object File]
}
function fileMoveIOErrorEventHandler(event:IOErrorEvent):void {
trace("I/O Error.");
}
Класс File также включает методы File.moveToTrash() и File.moveToTrashAsync(), служащие для перемещения файла или каталога в корзину. Удаление файлаКласс File содержит методы deleteFile() и deleteFileAsync(). Эти методы служат для удаления файлов. Первый работает синхронно, второй — асинхронно (см. раздел «Основные сведения о файлах AIR»). Например, в приведенном ниже коде файл test.txt синхронно удаляется из каталога документов пользователя: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.deleteFile();
В этом коде файл test.txt асинхронно удаляется из каталога документов пользователя: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.addEventListener(Event.COMPLETE, completeHandler)
file.deleteFileAsync();
function completeHandler(event:Event):void {
trace("Deleted.")
}
Также существуют методы moveToTrash() и moveToTrashAsync, с помощью которых файл или каталог можно переместить в корзину. Дополнительные сведения см. в разделе Перемещение файла в корзину. Перемещение файла в корзинуКласс File содержит методы moveToTrash() и moveToTrashAsync(). Эти методы отправляют файл или каталог в корзину. Первый из них работает синхронно, а второй — асинхронно (см. раздел «Основные сведения о файлах AIR»). Например, в следующем коде файл test.txt синхронно перемещается из каталога документов пользователя в корзину: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.moveToTrash();
Примечание. В операционных системах, которые не поддерживают концепцию восстанавливаемой папки корзины, файлы сразу же удаляются.
Создание временного файлаКласс File включает метод createTempFile(), который создает во временном системном каталоге еще один файл, как показано ниже: var temp:File = File.createTempFile(); Метод createTempFile() автоматически создает уникальный временный файл, что избавляет вас от необходимости каждый раз задавать уникальное расположение. Временный файл может использоваться для временного хранения данных, используемых в ходе одного сеанса приложения. Обратите внимание, что существует метод createTempDirectory(), позволяющий создавать новые уникальные временные каталоги во временном каталоге System. Перед закрытием приложения рекомендуется удалять временные файлы, так как они не удаляются автоматически на всех устройствах. |
|