В AIR 2 можно обнаружить момент подключения и отключения томов запоминающего устройства. Класс StorageVolumeInfo определяет единичный объект
storageVolumeInfo
. Объект
StorageVolumeInfo.storageVolumeInfo
отправляет событие
storageVolumeMount
при подключении тома запоминающего устройства. А когда том отключается, он отправляет событие
storageVolumeUnmount
. Класс StorageVolumeChangeEvent определяет эти события.
Примечание.
В современных версиях ОС Linux объект StorageVolumeInfo отправляет только события
storageVolumeMount
и
storageVolumeUnmount
для физических устройств и сетевых дисков, установленных в определенных местоположениях.
Свойство
storageVolume
класса StorageVolumeChangeEvent является объектом StorageVolume. Класс StorageVolume определяет основные свойства тома запоминающего устройства:
-
drive
— буква тома жесткого диска в ОС Windows (
null
в остальных операционных системах)
-
fileSystemType
— тип файловой системы в томе запоминающего устройства (например, «FAT», «NTFS», «HFS» или «UFS»);
-
isRemoveable
— является ли том съемным (
true
) или нет (
false
);
-
isWritable
— является ли том доступным для записи (
true
) или нет (
false
);
-
name
— имя тома;
-
rootDirectory
— объект File, соответствующий корневому каталогу тома;
Класс 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 можно применять, чтобы получить сведения о свободном месте на томе запоминающего устройства. См. раздел
Определение свободного места на томе
.