Trabajo con volúmenes de almacenamientoAdobe AIR 2 y posterior En AIR 2, es posible detectar el momento en que los volúmenes de almacenamiento masivo se montan o se desmontan. La clase StorageVolumeInfo define un objeto singleton storageVolumeInfo. El objeto StorageVolumeInfo.storageVolumeInfo distribuye un evento storageVolumeMount cuando se monta el volumen de almacenamiento. Asimismo, se distribuye un evento storageVolumeUnmount si el volumen se desmonta. La clase StorageVolumeChangeEvent define estos eventos. Nota: en distribuciones modernas de Linux, el objeto StorageVolumeInfo sólo distribuye eventos storageVolumeMount y storageVolumeUnmount para dispositivos físicos y unidades de red montadas en ubicaciones determinadas.
La propiedad storageVolume de la clase StorageVolumeChangeEvent es un objeto StorageVolume. La clase StorageVolume define las propiedades básicas del volumen de almacenamiento:
La clase StorageVolumeChangeEvent también incluye una propiedad rootDirectory. La propiedad rootDirectory es un objeto File que hace referencia al directorio raíz del volumen de almacenamiento que se ha montado o desmontado. La propiedad storageVolume del objeto StorageVolumeChangeEvent es undefined (null) en volúmenes sin montar. Sin embargo, se puede acceder a la propiedad rootDirectory del evento. El siguiente código genera el nombre y la ruta de archivo de un volumen de almacenamiento cuando se monta: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
El siguiente código genera la ruta de archivo de un volumen de almacenamiento cuando se desmonta: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
El objeto StorageVolumeInfo.storageVolumeInfo incluye un método getStorageVolumes(). Este método devuelve un vector de los objetos StorageVolume que se corresponde con los volúmenes de almacenamiento montados actualmente. El siguiente código muestra cómo agrupar los nombres y los directorios raíz de todos los volúmenes de almacenamiento 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: en distribuciones modernas de Linux, el método getStorageVolumes() devuelve objetos correspondientes a dispositivos físicos y unidades de red montadas en ubicaciones determinadas.
El método File.getRootDirectories() incluye los directorios raíz (consulte Apuntar a la raíz del sistema de archivos. No obstante, los objetos StorageVolume (enumerados mediante el método StorageVolumeInfo.getStorageVolumes()) ofrecen más información sobre los volúmenes de almacenamiento. La propiedad spaceAvailable de la propiedad rootDirectory de un objeto StorageVolume se puede utilizar para obtener el espacio disponible en un volumen de almacenamiento. (Consulte Determinación del espacio disponible en un volumen.) Para obtener información sobre los volúmenes de almacenamiento en los dispositivos de AIR para TV, consulte Vista del directorio para aplicaciones de AIR para TV. |
|