Arbeta med lagringsvolymer

Adobe AIR 2 och senare

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