Depolama birimleriyle çalışma

Adobe AIR 2 ve üstü

AIR 2 uygulamasında yığın depolama birimlerinin takılıp takılmadığını algılayabilirsiniz. StorageVolumeInfo sınıfı, tek bir storageVolumeInfo nesnesi örneği tanımlar. Depolama birimi takıldığında StorageVolumeInfo.storageVolumeInfo nesnesi bir storageVolumeMount olayı gönderir. Bir birim çıkarıldığında, storageVolumeUnmount olayı gönderir. Bu olaylar StorageVolumeChangeEvent sınıfında tanımlanmıştır.

Not: Modern Linux dağıtımlarında, StoreVolumeInfo nesnesi storageVolumeMount ve storageVolumeUnmount olaylarını yalnızca belirli konumlarda oluşturulmuş fiziksel aygıtlar ve ağ sürücüleri için gönderir.

StorageVolumaChangeEvent sınıfının storageVolume özelliği bir Storage Volume nesnesidir. StorageVolume sınıfı depolama biriminin temel özelliklerini tanımlar:

  • sürücü —Windows'ta birim sürücüsü harfi (diğer işletim sistemlerinde null değeridir)

  • fileSystemType — Depolama birimindeki dosya sisteminin türü (''FAT'', ''NTFS'', ''HFS'' veya ''UFS'' gibi)

  • isRemoveable — Depolama biriminin çıkartılabilir olup ( true ) olmadığı ( false )

  • isWritable —Bir veri kütlesinin yazılabilir ( true ) olup olmadığı ( false )

  • name — Birimin adı

  • rootDirectory — Birimin kök dizinine karşılık gelen File nesnesi

StorageVolumeChangeEvent sınıfında bir rootDirectory özelliği de bulunur. rootDirectory özelliği, takılmış veya sökülmüş depolama kapasitesinin kök diziniyle ilgili Dosya nesnesidir.

StorageVolumeChangeEvent nesnesinin storageVolume özelliği, takılı olmayan birim için tanımsızdır ( null ). Ancak olayın rootDirectory özelliğine erişebilirsiniz.

Aşağıdaki kod, takıldığında, depolama biriminin dosya yolunu çıktı alır.

StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount); 
function onVolumeMount(event:StorageVolumeChangeEvent):void 
{ 
    trace(event.storageVolume.name, event.rootDirectory.nativePath); 
}

Aşağıdaki kod, çıkartıldığında, depolama biriminin dosya yolunu çıktı alır.

StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount); 
function onVolumeUnmount(event:StorageVolumeChangeEvent):void 
{ 
    trace(event.rootDirectory.nativePath); 
}

StorageVolumeInfo.storageVolumeInfo nesnesi getStorageVolumes() yöntemi içerir. Bu yöntem StorageVolume nesnelerinin monte edilmiş depolama birimlerine karşılık gelen bir vektörünü verir. Aşağıdaki kod takılmış tüm depolama birimlerinin isimlerinin ve kök dizinlerinin nasıl listeleneceğini gösterir:

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); 
}
Not: Modern Linux dağıtımlarında, getStorageVolumes() yöntemi nesneleri ilgili fiziksel aygıtlara ve belli konumlara takılmış ağ sürücülerine geri gönderir.

File.getRootDirectories() yöntemi kök dizinleri listeler (bkz. Dosya sistemi köküne işaret etme . Ancak StorageVolume nesneleri ( StorageVolumeInfo.getStorageVolumes() yöntemiyle numaralandırılmış) depolama birimleri hakkında daha fazla bilgi sağlar.

spaceAvailable özelliği, Storage Volume nesnesinin rootDirectory özelliğinin bir özelliğidir, bu özelliği depolama biriminde ne kadar kullanılabilir alan olduğunu öğrenmek için kullanabilirsiniz. (Bkz. Bir birimdeki kullanılabilir alanı belirleme .)