In AIR 2 kann das Mounten und Unmounten von Massenspeichermedien erkannt werden. Die StorageVolumeInfo-Klasse definiert ein
storageVolumeInfo
-Singleton-Objekt. Das
StorageVolumeInfo.storageVolumeInfo
-Objekt setzt ein
storageVolumeMount
-Ereignis ab, wenn ein Speichermedium gemountet wird. Beim Unmounten eines Speichermediums setzt es ein
storageVolumeUnmount
-Ereignis ab. Die StorageVolumeChangeEvent-Klasse definiert diese Ereignisse.
Hinweis:
In modernen Linux-Distributionen setzt das StorageVolumeInfo-Objekt nur
storageVolumeMount
- und
storageVolumeUnmount
-Ereignisse für physische Geräte und Netzwerkgeräte ab, die an bestimmten Orten bereitgestellt werden.
Die
storageVolume
-Eigenschaft der StorageVolumeChangeEvent-Klasse ist ein StorageVolume-Objekt. Die StorageVolume-Klasse definiert grundlegende Eigenschaften des Speichermediums:
-
drive
– Der Buchstabe des Speichermediums unter Windows. (
null
auf anderen Betriebssystemen)
-
fileSystemType
– Das Dateisystem des Speichermediums (wie FAT, NTFS, HFS oder UFS).
-
isRemoveable
– Gibt an, ob es sich um ein Wechselspeichermedium handelt (
true
) oder nicht (
false
).
-
isWritable
– Gibt an, ob ein Speichermedium beschrieben werden kann (
true
) oder nicht (
false
).
-
name
– Der Name des Speichermediums.
-
rootDirectory
– Ein File-Objekt, das dem Stammverzeichnis des Speichermediums entspricht.
Die StorageVolumeChangeEvent-Klasse enthält auch die
rootDirectory
-Eigenschaft. Die
rootDirectory
-Eigenschaft ist ein File-Objekt, das auf das Stammverzeichnis des Speichermediums verweist, für das ein Mounten oder Unmounten durchgeführt wurde.
Die
storageVolume
-Eigenschaft des StorageVolumeChangeEvent-Objekts ist für ein nicht gemountetes Speichermedium nicht definiert (
null
). Sie können jedoch auf die
rootDirectory
-Eigenschaft des Ereignisses zugreifen.
Der folgende Code gibt den Namen und den Dateipfad eines Speichermediums beim Mounten aus:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Der folgende Code gibt den Dateipfad eines Speichermediums beim Unmounten aus:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
Das
StorageVolumeInfo.storageVolumeInfo
-Objekt enthält eine
getStorageVolumes()
-Methode. Diese Methode gibt einen Vektor der StorageVolume-Objekte zurück, die den derzeit gemounteten Speichermedien entsprechen. Mit dem folgenden Code werden die Namen und Stammverzeichnisse aller gemounteten Speichermedien aufgelistet:
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);
}
Hinweis:
Auf modernen Linux-Distributionen gibt die
getStorageVolumes()
-Methode Objekte zurück, die physischen Geräten und an bestimmten Orten gemounteten Netzwerklaufwerken entsprechen.
Die
File.getRootDirectories()
-Methode listet die Stammverzeichnisse auf (siehe
Verweisen auf das Stammverzeichnis des Dateisystems
). Das StorageVolume-Objekt (von der
StorageVolumeInfo.getStorageVolumes()
-Methode aufgezählt) liefert jedoch mehr Informationen über die Speichermedien.
Mit der
spaceAvailable
-Eigenschaft der
rootDirectory
-Eigenschaft eines StorageVolume-Objekts kann der verfügbare Speicherplatz auf einem Speichermedium festgestellt werden. (Siehe
Ermitteln des auf einem Datenträger verfügbaren Speicherplatzes
.)