| Package | flash.filesystem | 
| Class | public class StorageVolume | 
| Inheritance | StorageVolume  Object | 
| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
- The storageVolumeproperty of a StorageVolumeChangeEvent object is a StorageVolume object. This object represents the storage volume that has been mounted or unmounted.
- The StorageVolumeInfo.storageVolumeInfo.getStorageVolumes()method returns a vector of StorageVolume objects. Each of these StorageVolume objects represents a mounted storage volume.
See also
flash.events.StorageVolumeChangeEvent.storageVolume
| Property | Defined By | ||
|---|---|---|---|
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
|  drive : String [read-only] 
	     The volume drive letter on Windows. | StorageVolume | ||
|  fileSystemType : String [read-only]  
             The type of file system on the storage volume (such as "FAT", "NTFS", 
             "HFS", or "UFS"). | StorageVolume | ||
|  isRemovable : Boolean [read-only] 
             Whether the operating system considers the storage volume to be removable (true) 
             or not (false). | StorageVolume | ||
|  isWritable : Boolean [read-only] 
             Whether a volume is writable (true) or not (false). | StorageVolume | ||
|  name : String [read-only] 
	     The name of the volume. | StorageVolume | ||
|  | prototype : Object [static] 
	 A reference to the prototype object of a class or function object. | Object | |
|  rootDirectory : File [read-only] 
	     A File object corresponding to the root directory of the volume. | StorageVolume | ||
| Method | Defined By | ||
|---|---|---|---|
|  StorageVolume(rootDirPath:File, name:String, writable:Boolean, removable:Boolean, fileSysType:String, drive:String)  
	    The constructor function. | StorageVolume | ||
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	 Returns the string representation of the specified object. | Object | |
|  | 
	 Returns the primitive value of the specified object. | Object | |
|   drive | property | 
drive:String  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
	     The volume drive letter on Windows. On other platforms, this property is set
	     to null.
	     
	     
Implementation
    public function get drive():String|   fileSystemType | property | 
fileSystemType:String  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
 
             The type of file system on the storage volume (such as "FAT", "NTFS", 
             "HFS", or "UFS").
             
	     
Implementation
    public function get fileSystemType():StringExample ( How to use this example )
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 | property | 
isRemovable:Boolean  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
             Whether the operating system considers the storage volume to be removable (true) 
             or not (false).
             
             
The following table lists the values StorageVolume.isRemovable property for various types
             of devices:
| Type of device | Mac OS | Windows | Linux | 
|---|---|---|---|
| CD/DVD (fixed) | true | true | true | 
| USB flash drive | true | true | true | 
| USB hard srive | false | false | true | 
| FireWire hard drive | false | false | true | 
| Shared volume | true | false | - 1 | 
| Network drive | false | false | false | 
| Storage card reader (empty) | - 2 | false | - 2 | 
| Storage card reader (with SD/CF card) | true | true | true | 
1 Linux does not have a concept of a shared volume.
2 On Windows, an empty card reader is listed as a non-removable device. On Mac OS and Linux, empty car readers are not listed as storage volumes.
Implementation
    public function get isRemovable():BooleanExample ( How to use this example )
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 | property | 
isWritable:Boolean  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
             Whether a volume is writable (true) or not (false).
             
             
Note: You can determine the amount of space available on a
             volume by calling the rootDirectory.spaceAvailble property of the 
             StorageVolume object.
Implementation
    public function get isWritable():BooleanSee also
Example ( How to use this example )
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 | property | 
name:String  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
	     The name of the volume. If there is no name, this property is set to null.
	     
	     
Implementation
    public function get name():StringExample ( How to use this example )
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 | property | 
rootDirectory:File  [read-only] | Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
A File object corresponding to the root directory of the volume.
Implementation
    public function get rootDirectory():FileExample ( How to use this example )
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 | () | Constructor | 
public function StorageVolume(rootDirPath:File, name:String, writable:Boolean, removable:Boolean, fileSysType:String, drive:String)| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 2 | 
 
	    The constructor function. Generally, you do not call this constructor function directly
	    (to create new StorageVolume objects). Rather, you reference StorageVolume objects 
	    by accessing the storageVolume property of a StorageVolumeChangeEvent object
	    or by calling StorageVolumeInfo.storageVolumeInfo.getStorageVolumes().
	    
	    
| rootDirPath:File | |
| name:String | |
| writable:Boolean | |
| removable:Boolean | |
| fileSysType:String | |
| drive:String | 
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("________________________________________________________");
            }
        }
    }
}
storageVolume property of the StorageVolumeChangeEvent is only set for the storageVolumeMount
 event; it is null for the storageVolumeUnmount event:
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();
        }        
    }
}
Thu May 20 2010, 02:19 AM -07:00

 Hide Inherited Public Properties
 Hide Inherited Public Properties Show Inherited Public Properties
 Show Inherited Public Properties