包 | flash.filesystem |
类 | public class StorageVolume |
继承 | StorageVolume Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
- StorageVolumeChangeEvent 对象的
storageVolume
属性是 StorageVolume 对象。此对象表示已安装或已卸载的存储卷。 -
StorageVolumeInfo.storageVolumeInfo.getStorageVolumes()
方法返回 StorageVolume 对象的一个矢量。每个 StorageVolume 对象分别表示一个安装的存储卷。
相关 API 元素
flash.filesystem.StorageVolumeInfo.getStorageVolumes()
flash.events.StorageVolumeChangeEvent.storageVolume
flash.events.StorageVolumeChangeEvent.storageVolume
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
drive : String [只读]
Windows 上的卷驱动器号。 | StorageVolume | ||
fileSystemType : String [只读]
存储卷上的文件系统类型(如“FAT”、“NTFS”、“HFS”或“UFS”)。 | StorageVolume | ||
isRemovable : Boolean [只读]
操作系统将存储卷视为可删除 (true) 还是不可删除 (false)。 | StorageVolume | ||
isWritable : Boolean [只读]
卷是可写 (true) 还是不可写 (false)。 | StorageVolume | ||
name : String [只读]
卷的名称。 | StorageVolume | ||
rootDirectory : File [只读]
与卷的根目录对应的 File 对象。 | StorageVolume |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
StorageVolume(rootDirPath:File, name:String, writable:Boolean, removable:Boolean, fileSysType:String, drive:String)
构造函数。 | StorageVolume | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
属性详细信息
drive | 属性 |
fileSystemType | 属性 |
fileSystemType:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
存储卷上的文件系统类型(如“FAT”
、“NTFS”
、“HFS”
或“UFS”
)。
实现
public function get fileSystemType():String
示例 ( 如何使用本示例 )
以下代码列出根目录的本机路径和每个安装的存储卷的文件系统类型:
var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].rootDirectory.nativePath, "(" + volumes[i].fileSystemType + ")"); }
isRemovable | 属性 |
isRemovable:Boolean
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
操作系统将存储卷视为可删除 (true
) 还是不可删除 (false
)。
下表列出了各种设备类型的 StorageVolume.isRemovable
属性的值:
设备类型 | Mac OS | Windows | Linux |
---|---|---|---|
CD/DVD(固定) | true | true | true |
USB 闪存驱动器 | true | true | true |
USB 硬盘驱动器 | false | false | true |
FireWire 硬盘驱动器 | false | false | true |
共享卷 | true | false | - 1 |
网络驱动器 | false | false | false |
存储卡读取器(空) | - 2 | false | - 2 |
存储卡读取器(带有 SD/CF 卡) | true | true | true |
1 Linux 没有共享卷的概念。
2 在 Windows 上,空读卡器作为不可移除的设备列出。在 Mac OS 和 Linux 上,空读卡器不作为存储卷列出。
实现
public function get isRemovable():Boolean
示例 ( 如何使用本示例 )
以下代码依次输出不可删除存储卷的列表和可删除存储卷的列表:
var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); trace("Non-removeable volumes:"); for (var i:int = 0; i < volumes.length; i++) { if (!volumes[i].isRemovable) { trace(volumes[i].rootDirectory.nativePath); } } trace("\nRemoveable volumes:"); for (i = 0; i < volumes.length; i++) { if (volumes[i].isRemovable) { trace(volumes[i].rootDirectory.nativePath); } }
isWritable | 属性 |
isWritable:Boolean
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
卷是可写 (true
) 还是不可写 (false
)。
注意:可通过调用 StorageVolume 对象的 rootDirectory.spaceAvailble
属性确定卷上的可用空间量。
实现
public function get isWritable():Boolean
相关 API 元素
flash.fileSystem.File.spaceAvailable
示例 ( 如何使用本示例 )
以下代码输出可写存储卷列表及每个卷上的可用空间:
var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { if(volumes[i].isWritable) { trace(volumes[i].rootDirectory.nativePath, volumes[i].rootDirectory.spaceAvailable); } }
name | 属性 |
name:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
卷的名称。如果没有名称,此属性设置为 null
。
实现
public function get name():String
示例 ( 如何使用本示例 )
以下代码列出根目录的本机路径及每个安装的存储卷的文件系统名称(如果有):
var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { var name:String = new String(); if (volumes[i].name) { name = "(" + volumes[i].name + ")"; } trace(volumes[i].rootDirectory.nativePath, name); }
rootDirectory | 属性 |
rootDirectory:File
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
与卷的根目录对应的 File 对象。
实现
public function get rootDirectory():File
示例 ( 如何使用本示例 )
下列代码列出了每个装载的存储卷的根目录的本机路径:
var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].rootDirectory.nativePath); }
构造函数详细信息
StorageVolume | () | 构造函数 |
public function StorageVolume(rootDirPath:File, name:String, writable:Boolean, removable:Boolean, fileSysType:String, drive:String)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2 |
构造函数。通常,您不直接调用此构造函数(以创建新的 StorageVolume 对象),而是通过访问 StorageVolumeChangeEvent 对象的 storageVolume
属性或调用 StorageVolumeInfo.storageVolumeInfo.getStorageVolumes()
来引用 StorageVolume 对象。
rootDirPath:File | |
name:String | |
writable:Boolean | |
removable:Boolean | |
fileSysType:String | |
drive:String |
示例 如何使用本示例
StorageVolumeExample.as
以下代码列出每个安装的存储卷的属性:
package { import flash.display.Sprite; import flash.filesystem.StorageVolume; import flash.filesystem.StorageVolumeInfo; public class StorageVolumeExample extends Sprite { public function StorageVolumeExample() { var volumes:Vector.<StorageVolume> = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { var volume:StorageVolume = volumes[i]; trace("nativePath:", volume.rootDirectory.nativePath); trace("fileSystemType:", volume.fileSystemType); trace("isRemovable:", volume.isRemovable); trace("isWritable:", volume.isWritable); trace("drive:", volume.drive); trace("name:", volume.name); trace("________________________________________________________"); } } } }
StorageVolumeChangeEventExample.as
以下代码列出每个已安装或已卸载的存储卷的属性。请注意,仅为
storageVolumeMount
事件设置 StorageVolumeChangeEvent 的 storageVolume
属性;对于 storageVolumeUnmount
事件,该属性为 null
:
package { import flash.display.Sprite; import flash.events.StorageVolumeChangeEvent; import flash.filesystem.StorageVolume; import flash.filesystem.StorageVolumeInfo; public class StorageVolumeChangeEventExample extends Sprite { public function StorageVolumeChangeEventExample() { StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, mountEventHandler); StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, unmountEventHandler); } public function mountEventHandler(event:StorageVolumeChangeEvent):void { var volume:StorageVolume = event.storageVolume; trace("VOLUME MOUNTED:"); trace("nativePath:", event.rootDirectory.nativePath); trace("fileSystemType:", volume.fileSystemType); trace("isRemovable:", volume.isRemovable); trace("isWritable:", volume.isWritable); trace("drive:", volume.drive); trace("name:", volume.name); trace(); } public function unmountEventHandler(event:StorageVolumeChangeEvent):void { trace("VOLUME UNMOUNTED:"); trace("nativePath:", event.rootDirectory.nativePath); trace(); } } }
Tue Jun 12 2018, 11:04 AM Z