在 AIR 2 中,安装或卸载大容量存储卷时,您可以进行检测。StorageVolumeInfo 类定义单个
storageVolumeInfo
对象。
StorageVolumeInfo.storageVolumeInfo
对象在存储卷安装之后调度
storageVolumeMount
事件。它在某个卷被卸载时调度
storageVolumeUnmount
事件。StorageVolumeChangeEvent 类定义这些事件。
注:
在现今的 Linux 发行版中,StorageVolumeInfo 对象仅对在特定位置装载的物理设备和网络驱动器调度
storageVolumeMount
和
storageVolumeUnmount
事件。
StorageVolumeChangeEvent 类的
storageVolume
属性是一个 StorageVolume 对象。StorageVolume 类定义存储卷的基本属性:
-
drive
— Windows 上的卷驱动器号(在其他操作系统上为
null
)
-
fileSystemType
— 存储卷上的文件系统的类型(如“FAT”、“NTFS”、“HFS”或“UFS”)
-
isRemoveable
— 卷是可删除(为
true
)还是不可删除(为
false
)
-
isWritable
— 卷可写入 (
true
) 还是不可写入 (
false
)
-
name
— 卷的名称
-
rootDirectory
— 与卷的根目录对应的 File 对象
StorageVolumeChangeEvent 类还包括一个
rootDirectory
属性。
rootDirectory
属性是一个引用已装载或已卸载的存储卷的根目录的 File 对象。
对于卸载的卷,未定义 StorageVolumeChangeEvent 对象的
storageVolume
属性 (
null
)。然而,您可以访问此事件的
rootDirectory
的属性。
以下代码在安装完存储卷之后输出该存储卷的名称和文件路径:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
以下代码在卸载完存储卷之后输出该存储卷的文件路径:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
StorageVolumeInfo.storageVolumeInfo
对象包含
getStorageVolumes()
方法。此方法返回与当前安装的存储卷对应的 StorageVolume 对象的矢量。以下代码显示如何列出所有安装的存储卷的名称和根目录:
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);
}
注:
在现今的 Linux 发行版中,
getStorageVolumes()
方法返回与在特定位置安装的物理设备和网络驱动器相对应的对象。
File.getRootDirectories()
方法列出根目录(请参阅
指向文件系统根目录
)。然而,StorageVolume 对象(由
StorageVolumeInfo.getStorageVolumes()
方法枚举)提供有关存储卷的详细信息。
可使用 StorageVolume 对象的
rootDirectory
属性的
spaceAvailable
属性查看存储卷上的可用空间。(请参阅
确定卷上的可用空间
。)