In AIR 2, potete rilevare quando volumi di memorizzazione di massa vengono montati o rimossi. La classe StorageVolumeInfo definisce un oggetto
storageVolumeInfo
singleton. L'oggetto
StorageVolumeInfo.storageVolumeInfo
invia un evento
storageVolumeMount
quando un volume di memorizzazione viene montato, mentre invia un evento
storageVolumeUnmount
quando il volume viene rimosso. La classe StorageVolumeChangeEvent definisce questi eventi.
Nota:
nelle distribuzioni Linux moderne, l'oggetto StorageVolumeInfo invia solo eventi
storageVolumeMount
e
storageVolumeUnmount
per i dispositivi fisici e le unità di rete montate in particolari posizioni.
La proprietà
storageVolume
della classe StorageVolumeChangeEvent è un oggetto StorageVolume. La classe StorageVolume definisce le proprietà di base del volume di memorizzazione:
-
drive
: la lettera di unità del volume in Windows (
null
in altri sistemi operativi)
-
fileSystemType
: il tipo di file system sul volume di memorizzazione (Ad esempio, "FAT", "NTFS", "HFS" o "UFS")
-
isRemoveable
: specifica se un volume è rimovibile (
true
) o no (
false
)
-
isWritable
: specifica se un volume è scrivibile (
true
) o no (
false
)
-
name
: il nome del volume
-
rootDirectory
: un oggetto file corrispondente alla directory principale del volume
La classe StorageVolumeChangeEvent include anche una proprietà
rootDirectory
, ovvero un oggetto File che fa riferimento alla directory principale del volume di memorizzazione che è stato montato o rimosso.
La proprietà
storageVolume
dell'oggetto StorageVolumeChangeEvent non è definita (
null
) per un volume non montato. Tuttavia, potete accedere alla proprietà
rootDirectory
dell'evento.
Il codice seguente restituisce il nome e il percorso file di un volume di memorizzazione quando viene montato:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Il codice seguente restituisce il percorso file di un volume di memorizzazione quando viene rimosso:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
L'oggetto
StorageVolumeInfo.storageVolumeInfo
include un metodo
getStorageVolumes()
che restituisce un vettore di oggetti StorageVolume corrispondenti ai volumi di memorizzazione attualmente montati. Il codice seguente mostra come elencare i nomi e le directory principali di tutti i volumi di memorizzazione montati:
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:
nelle distribuzioni Linux moderne, il metodo
getStorageVolumes()
restituisce oggetti che corrispondono ai dispositivi fisici e alle unità di rete montate in particolari posizioni.
Il metodo
File.getRootDirectories()
elenca le directory principali (vedete
Puntamento alla directory principale di sistema
. Tuttavia, gli oggetti StorageVolume (enumerati dal metodo
StorageVolumeInfo.getStorageVolumes()
) forniscono ulteriori informazioni sui volumi di memorizzazione.
Potete utilizzare la proprietà
spaceAvailable
della proprietà
rootDirectory
di un oggetto StorageVolume per recuperare lo spazio disponibile su un volume di memorizzazione. (Vedete
Rilevamento dello spazio disponibile su un volume
.)