Trabalho com volumes de armazenamentoAdobe AIR 2 e posterior No AIR 2, você pode detectar quando os volumes de armazenamento em massa são montados ou desmontados. A classe StorageVolumeInfo define um objeto storageVolumeInfo singleton. O objeto StorageVolumeInfo.storageVolumeInfo despacha um evento storageVolumeMount quando um volume de armazenamento é montado. E também despacha um evento storageVolumeUnmount quando um volume é desmontado. A classe StorageVolumeChangeEvent define esses eventos. Nota: Em distribuições modernas de Linux, o objeto StorageVolumeInfo envia apenas eventos storageVolumeMount and storageVolumeUnmount para dispositivos físicos e unidades de rede montados em locais específicos.
A propriedade storageVolume da classe StorageVolumeChangeEvent é um objeto StorageVolume. A classe StorageVolume define as propriedades básicas do volume de armazenamento:
A classe StorageVolumeChangeEvent também contém uma propriedade rootDirectory. A propriedade rootDirectory é um objeto File que faz referência ao diretório raiz do volume de armazenamento que foi montado ou desmontado. A propriedade storageVolume do objeto StorageVolumeChangeEvent não está definida (null) para o volume não montado. No entanto, você pode acessar a propriedade rootDirectory do evento. O código a seguir libera o nome e o caminho do arquivo de um volume de armazenamento quando é montado: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount); function onVolumeMount(event:StorageVolumeChangeEvent):void { trace(event.storageVolume.name, event.rootDirectory.nativePath); } O código a seguir libera o caminho do arquivo de um volume de armazenamento quando é desmontado: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount); function onVolumeUnmount(event:StorageVolumeChangeEvent):void { trace(event.rootDirectory.nativePath); } O objeto StorageVolumeInfo.storageVolumeInfo inclui um método getStorageVolumes(). Esse método retorna um vetor dos objetos StorageVolume que correspondem aos volumes de armazenamento atualmente montados. O código a seguir mostra como listar os nomes e os diretórios raiz de todos os volumes de armazenamento montados: 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); } Nota: Em distribuições modernas de Linux, o método getStorageVolumes() retorna objetos que correspondem a dispositivos físicos e unidades de rede montados em locais específicos.
O método File.getRootDirectories() lista os diretórios raiz (consulte Apontando para a raiz do sistema de arquivos. No entanto, os objetos StorageVolume (enumerados pelo método StorageVolumeInfo.getStorageVolumes()) fornece mais informações sobre os volumes de armazenamento. Você pode usar a propriedade spaceAvailable da propriedade rootDirectory de um objeto StorageVolume para obter o espaço disponível em um volume de armazenamento. (Consulte Determinação de espaço disponível em um volume.) Para obter informações sobre volumes de armazenamento em dispositivos AIR for TV, consulte Visualização de diretórios para aplicativos AIR for TV. |
![]() |