I AIR 2 kan du identifiera när stora lagringsvolymer monteras eller avmonteras. Klassen StorageVolumeInfo definierar ett singletonobjekt av typen
storageVolumeInfo
.
StorageVolumeInfo.storageVolumeInfo
-objektet skickar en
storageVolumeMount
-händelse när lagringsvolymen monteras. Och den skickar en
storageVolumeUnmount
-händelse när en volym avmonteras. Dessa händelser definieras av klassen StorageVolumeChangeEvent.
Obs!
På nyare Linux-distributioner skickar StorageVolumeInfo-objektet endast händelserna
storageVolumeMount
och
storageVolumeUnmount
för fysiska enheter och nätverksenheter som monterats på särskilda platser.
Egenskapen
storageVolume
i klassen StorageVolumeChangeEvent är ett StorageVolume-objekt. Klassen StorageVolume definierar grundläggande egenskaper hos lagringsvolymen:
-
drive
– Volymetiketten för en Windows-enhet (
null
i andra operativsystem)
-
fileSystemType
– Typen av filsystem på lagringsvolymen (till exempel "FAT", "NTFS", "HFS" eller "UFS")
-
isRemoveable
– Om en volym är flyttbar (
true
) eller inte (
false
)
-
isWritable
– Om en volym är skrivbar (
true
) eller inte (
false
)
-
name
– Namnet på volymen
-
rootDirectory
– Ett File-objekt som motsvarar volymens rotkatalog
Klassen StorageVolumeChangeEvent innehåller även en
rootDirectory
-egenskap. Egenskapen
rootDirectory
är ett File-objekt som refererar till rotkatalogen för den lagringsvolym som har monterats eller avmonterats.
Egenskapen
storageVolume
för StorageVolumeChangeEvent-objektet är odefinierad (
null
) för en avmonterad volym. Men du kan komma åt egenskapen
rootDirectory
för händelsen.
Följande kod skickar namnet på och sökvägen till en lagringsvolym när den monteras:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Följande kod skickar sökvägen till en lagringsvolym när den avmonteras:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
Objektet
StorageVolumeInfo.storageVolumeInfo
omfattar en
getStorageVolumes()
-metod. Den här metoden returnerar en vektor över StorageVolume-objekt som motsvarar de lagringsvolymer som är monterade för tillfället. Följande kod visar hur namnen på och rotkatalogerna för alla monterade lagringsvolymer listas:
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);
}
Obs!
På nyare Linux-distributioner returnerar metoden
getStorageVolumes()
objekt beroende på fysiska enheter och nätverksenheter som monterats på särskilda platser.
Med metoden
File.getRootDirectories()
listas rotkatalogerna (se
Peka på filsystemets rot
. Men i StorageVolume-objekten (uppräknade av metoden
StorageVolumeInfo.getStorageVolumes()
) ges mer information om lagringsvolymerna.
Du kan använda egenskapen
spaceAvailable
i egenskapen
rootDirectory
i ett StorageVolume-objekt för att visa ledigt utrymme på en lagringsvolym. (Se
Ta reda på ledigt utrymme på en volym