Работа с томами запоминающих устройствAdobe AIR 2 и более новых версий В AIR 2 можно обнаружить момент подключения и отключения томов запоминающего устройства. Класс StorageVolumeInfo определяет единичный объект storageVolumeInfo. Объект StorageVolumeInfo.storageVolumeInfo отправляет событие storageVolumeMount при подключении тома запоминающего устройства. А когда том отключается, он отправляет событие storageVolumeUnmount. Класс StorageVolumeChangeEvent определяет эти события. Примечание. В современных версиях ОС Linux объект StorageVolumeInfo отправляет только события storageVolumeMount и storageVolumeUnmount для физических устройств и сетевых дисков, установленных в определенных местоположениях.
Свойство storageVolume класса StorageVolumeChangeEvent является объектом StorageVolume. Класс StorageVolume определяет основные свойства тома запоминающего устройства:
Класс StorageVolumeChangeEvent также включает свойство rootDirectory. Свойство rootDirectory представляет собой объект File, ссылающийся на корневой каталог тома запоминающего устройства, которое было подключено или отключено. Свойство storageVolume объекта StorageVolumeChangeEvent не определено (null) для отключенного тома. Однако вы можете открыть свойство rootDirectory этого события. Следующий код выводит имя и путь к файлу в томе запоминающего устройства, когда оно подключается: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Следующий код выводит путь к файлу в томе запоминающего устройства, когда оно отключается: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
Объект StorageVolumeInfo.storageVolumeInfo включает метод getStorageVolumes(). Этот метод возвращает вектор объектов StorageVolume, относящийся к подключенным в данный момент томам запоминающего устройства. В следующем коде показано, как составляется список корневых каталогов всех подключенных томов запоминающего устройства: var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>;
volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes();
for (var i:int = 0; i < volumes.length; i++)
{
trace(volumes[i].name, volumes[i].rootDirectory.nativePath);
}
Примечание. В современных дистрибутивах Linux метод getStorageVolumes() возвращает объекты, соответствующие физическим устройствам или сетевым дискам, подключенным в определенных местоположениях.
Метод File.getRootDirectories() выводит список корневых каталогов (см. раздел Указание на корневой каталог файловой системы). Однако объекты StorageVolume (перечисленные методом StorageVolumeInfo.getStorageVolumes()) предоставляют дополнительную информацию о томах запоминающего устройства. Свойство spaceAvailable свойства rootDirectory для объекта StorageVolume можно применять, чтобы получить сведения о свободном месте на томе запоминающего устройства. См. раздел Определение свободного места на томе. Дополнительные сведения о томах запоминающего устройства в среде AIR для телевизионных устройств см. в разделе «Вид каталога приложений AIR для телевизионных устройств». |
|