С помощью API-интерфейса файла AIR вы сможете добавить в свое приложение основные интерактивные возможности. Например, будет возможно читать и записывать файлы, копировать и удалять их, и многое другое. Так как у ваших приложений есть доступ к локальной файловой системе, ознакомьтесь с разделом
Безопасность AIR
, если вы еще этого не сделали.
Примечание.
Тип файла можно связывать с приложением AIR (чтобы при двойном щелчке по файлу он открывался в этом приложении). Дополнительные сведения см. в разделе
Управление сопоставлением файлов
.
Получение информации о файле
Класс File включает следующие свойства, содержащие информацию о файле или каталоге, на который указывает объект File:
Свойство File
|
Описание
|
creationDate
|
Дата создания файла на локальном диске.
|
creator
|
Сейчас не используется. Пользуйтесь свойством
extension
. (Это свойство выводит тип creator для файлов Macintosh и используется только в версиях Mac OS, предшествующих Mac OS X.)
|
downloaded
|
(AIR 2 и более поздних версий) Указывает, был ли файл или каталог, указанный в ссылке, загружен из Интернета. свойство имеет значение только для операционных систем, в которых файлы могут помечаться во время загрузки:
|
exists
|
Определяет, существует ли файл или каталог, на который ведет ссылка.
|
extension
|
Расширение файла, являющееся частью его имени. Расширение следует за точкой («.») в имени файла (но не включает ее). Если в имени файла нет точки, то значение extension равно
null
.
|
icon
|
Объект Icon, содержащий значки, заданные для этого файла.
|
isDirectory
|
Указывает, ссылается ли объект File на каталог.
|
modificationDate
|
Дата последнего изменения файла или каталога на локальном диске.
|
name
|
Имя файла или каталога (включая расширение файла, если имеется) на локальном диске.
|
nativePath
|
Полный путь в представлении домашней операционной системы. См. раздел «
Пути к объектам File
».
|
parent
|
Папка, содержащая папку или файл, представленный объектом File. Это свойство равно
null
, если объект File ссылается на файл или каталог на корневом уровне файловой системы.
|
size
|
Размер файла на локальном диске в байтах.
|
type
|
Сейчас не используется. Пользуйтесь свойством
extension
. (На компьютерах Macintosh это свойство представляет четырехсимвольный тип файла, используемый только в версиях Mac OS, предшествующих Mac OS X.)
|
url
|
URL-адрес файла или каталога. См. раздел «
Пути к объектам 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.
Перед закрытием приложения рекомендуется удалять временные файлы, так как они
не
удаляются автоматически на всех устройствах.
|
|
|