zoukankan      html  css  js  c++  java
  • [AIR] 获取U盘,打开U盘

    示例:

    获取存储卷的方法:

    package com.controls
    {
        import flash.events.StorageVolumeChangeEvent;
        import flash.filesystem.StorageVolume;
        import flash.filesystem.StorageVolumeInfo;
    
        /**
         * @author Frost.Yen
         * @E-mail 871979853@qq.com
         * @create 2016-10-10 下午3:31:57
         *
         */
        public class StorageVolumeControl
        {
            
            public function StorageVolumeControl()
            {
                //监听外部设备连接和断开状态
                if (StorageVolumeInfo.isSupported)
                {
                    trace("平台支持 StorageVolumeInfo 类");
                    //卷装入;
                    StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
                    //存储卷卸载;
                    StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
                }
                else
                {
                    trace("平台不支持 StorageVolumeInfo 类");
                }
            }
            private function onVolumeMount(e:StorageVolumeChangeEvent):void
            {
                trace( e.storageVolume.name,"检测到可移动磁盘" );
                //trace( e.storageVolume.fileSystemType );
                //trace( e.storageVolume.isRemovable );
                //trace( e.storageVolume.isWritable );
                //trace( e.storageVolume.rootDirectory );
                //trace( e.storageVolume.rootDirectory.nativePath );
            }
            private function onVolumeUnmount(e:StorageVolumeChangeEvent):void
            {
                trace("卸载可移动磁盘" );
            }
            /**
             * 获取所有 存储卷对象StorageVolume
             * @return 
             * 
             */        
            public function getStorageVolumes():Vector.<StorageVolume>
            {
                var volumes:Vector.<StorageVolume >  = new Vector.<StorageVolume >;
                volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes();
                return volumes;
            }
            /**
             * 获取可以可删除的存储卷( 操作系统将存储卷视为可删除 (true) 还是不可删除 (false)。) 
             * @return 
             * 
             */        
            public function getRemovable():Vector.<StorageVolume>
            {
                var removable:Vector.<StorageVolume> = new Vector.<StorageVolume>();
                var volumes:Vector.<StorageVolume >= getStorageVolumes();
                for (var i:int = 0; i < volumes.length; i++)
                {
                    if (volumes[i].isRemovable)
                    {
                        trace(volumes[i].rootDirectory.nativePath);
                        removable.push(volumes[i]);
                    }
                }
                return removable;
            }
        }
    }

    打开第一个U盘:

    var volumes:Vector.<StorageVolume> = _storageVolume.getRemovable();
    if(volumes.length){
        var file2:File =new File(volumes[0].rootDirectory.nativePath);
        file2.openWithDefaultApplication();
    }
  • 相关阅读:
    Gmail邮件被屏蔽
    每天读两本书的方法
    如何做到一天读一本书?
    给网站加图标
    接口和类的异同
    生气的时候如何不生气
    只有某行文字间距较大
    视频流媒体监控系统EasyDSS是如何在无人机巡查秸秆焚烧中发挥作用的?
    互联网直播点播平台EasyDSS视频直播通道被占用了怎么处理?
    互联网直播点播平台EasyDSS如何实现电梯监控?EasyDSS电梯云物联解决方案介绍
  • 原文地址:https://www.cnblogs.com/frost-yen/p/6196621.html
Copyright © 2011-2022 走看看