AIR 2 permet de détecter le montage ou le démontage des volumes de stockage de masse. La classe StorageVolumeInfo définit un objet
storageVolumeInfo
singleton. L’objet
StorageVolumeInfo.storageVolumeInfo
distribue un événement
storageVolumeMount
lors du montage d’un volume de stockage. Il distribue également un événement
storageVolumeUnmount
lors du démontage d’un volume. La classe StorageVolumeChangeEvent définit ces événements.
Remarque :
sur les distributions récentes de Linux, l’objet StorageVolumeInfo ne distribue les événements
storageVolumeMount
et
storageVolumeUnmount
que pour les périphériques physiques et les lecteurs réseau montés à des emplacements déterminés.
La propriété
storageVolume
de la classe StorageVolumeChangeEvent est un objet StorageVolume. La classe StorageVolume définit les propriétés de base du volume de stockage :
-
drive
: lettre de lecteur d’un volume sous Windows (
null
sous les autres systèmes d’exploitation)
-
fileSystemType
: type du système de fichiers sur le volume de stockage (« FAT », « NTFS », « HFS » ou « UFS », par exemple).
-
isRemoveable
: indique si un volume peut être retiré (
true
) ou non (
false
).
-
isWritable
: indique si un volume est inscriptible (
true
) ou non (
false
).
-
name
: nom du volume
-
rootDirectory
: objet File correspondant au répertoire racine du volume
La classe StorageVolumeChangeEvent comprend également une propriété
rootDirectory
, à savoir un objet File qui référence le répertoire racine du volume de stockage monté ou démonté.
La propriété
storageVolume
de l’objet StorageVolumeChangeEvent n’est pas définie (autrement dit, elle correspond à
null
) si le volume est démonté. Vous pouvez toutefois accéder à la propriété
rootDirectory
de l’événement.
Le code suivant indique le nom et le chemin d’un volume de stockage lorsqu’il est monté :
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Le code suivant indique le chemin d’un volume de stockage lorsqu’il est démonté :
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
L’objet
StorageVolumeInfo.storageVolumeInfo
comprend une méthode
getStorageVolumes()
. Cette méthode renvoie un vecteur d’objets StorageVolume qui correspondent aux volumes de stockage actuellement montés. Le code suivant indique comment afficher le nom et le répertoire racine de tous les volumes de stockage montés :
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);
}
Remarque :
sur les distributions récentes de Linux, la méthode
getStorageVolumes()
renvoie des objets correspondant à des périphériques physiques et à des lecteurs réseau montés à des emplacements déterminés.
La méthode
File.getRootDirectories()
recense les répertoires racine (voir
Pointage vers la racine du système de fichiers
). Les objets StorageVolume (énumérés par la méthode
StorageVolumeInfo.getStorageVolumes()
) proposent toutefois plus d’informations sur les volumes de stockage.
Vous disposez de la propriété
spaceAvailable
de la propriété
rootDirectory
d’un objet StorageVolume pour obtenir l’espace disponible sur un volume de stockage. (Voir
Détermination de l’espace disponible sur un volume
.)