`

[转] Air程序遍历文件夹

 
阅读更多

功能说明:能选择一个文件夹,并将这个文件夹下的文件夹自动遍历,获取一组该文件夹下所有文件的位置。

思路说明:这里呢,我将使用一个递归函数来解决这个问题。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
  3.         <mx:Script>
  4.                 <![CDATA[
  5.                         private var sysFile:File;
  6.                         private var FilrUrlArr:Array;
  7.                         private var key:int;//递归结束标志
  8.                         
  9.                         private function init():void{
  10.                                 sysFile = new File();
  11.                                 sysFile.addEventListener(Event.SELECT,selectHandler);
  12.                                 FilrUrlArr = new Array();
  13.                         }
  14.                         
  15.                         /**
  16.                         递归函数开始递归
  17.                         **/
  18.                         private function getFileArr(_url:String=""):void{
  19.                                 key++;
  20.                                 if(_url!=""){
  21.                                         sysFile.url = _url;
  22.                                 }
  23.                                 var arr:Array = sysFile.getDirectoryListing();
  24.                                 var leg:int = arr.length;
  25.                                 for(var i:int=0;i<leg;i++){
  26.                                         var file:File = arr[i] as File;
  27.                                         if(file.isDirectory){
  28.                                                 getFileArr(file.url);
  29.                                         }else{
  30.                                                 FilrUrlArr.push(file.url);
  31.                                         }
  32.                                 }
  33.                                 key--;
  34.                                 if(key==0){//判断递归是否结束
  35.                                         Idone();
  36.                                 }
  37.                         }
  38.                         
  39.                         /**
  40.                         开始执行获取文件地址的方法
  41.                         **/
  42.                         private function selectHandler(event:Event):void{
  43.                                 getFileArr();
  44.                         }
  45.                         
  46.                         
  47.                         /**
  48.                         这里可以切一个断点看看结果,或者干脆用用trace
  49.                         **/
  50.                         private function Idone():void{
  51.                                 FilrUrlArr;
  52.                         }
  53.                         
  54.                         
  55.                         /**
  56.                         开始执行按钮方法
  57.                         **/
  58.                         private function clickHanlder(event:MouseEvent):void{
  59.                                 sysFile.browseForDirectory("请选择您的文件夹");
  60.                         }
  61.                 ]]>
  62.         </mx:Script>
  63.         <mx:Button label="打开" click="clickHanlder(event)" />
  64. </mx:WindowedApplication>
复制代码
你在使用这个air程序后,比如在idone里面加一个断点,你就能看到一个文件夹下所有文件的位置了。

分享到:
评论

相关推荐

    AS3遍历文件夹

    在ActionScript 3(AS3)中,遍历文件夹是一项基本操作,它允许开发者访问用户的文件系统,读取或处理指定目录中的文件和子文件夹。这项技术在开发涉及文件交互的应用,如图片浏览器、文件管理器或者数据导入导出...

    as3 AIR 本地文件夹浏览并生成XML类

    本AS3类用于AIR的本地程序开发,利用FILE类进行整理,可以支持将本地位置的文件夹进行遍历,并生成XML格式文件。

    flex上传文件夹插件

    为了实现这一功能,插件可能采用了递归算法,遍历文件夹及其子文件夹,将所有文件信息存储在内存中,然后通过HTTP请求分批次或一次性上传到服务器。同时,插件可能还包含了进度条和取消操作等用户友好的特性,以便...

    Adobe AIR:压缩Zip/创建zip文件

    这可能需要递归地遍历文件夹,为每个子文件和子文件夹执行上述步骤。 “源码”标签可能意味着博文会包含实际的AS3代码示例,帮助读者理解如何在Adobe AIR中实现这些功能。而“工具”标签可能指的是使用Adobe AIR...

    flex-air解压缩工具

    4. `mimetype`:这是一个特殊的文件,用于标识Adobe AIR应用程序的初始启动文件,是AIR应用的元数据文件。 5. `.project`:这是Eclipse IDE(集成开发环境)的项目配置文件,记录了项目的构建路径、性质和偏好设置...

    Visual C++编程技巧精选集 光盘

    78.如何遍历应用程序窗体中的各个控件 79.如何使窗体中的控件跟随鼠标移动而移动 80.如何设置静态文本控件的背景和文本颜色 81.如何通过控件实现鼠标拖动文本效果 第3章 标题栏和菜单栏 82.如何获取程序窗口标题栏...

    Flex论坛FZip zip组件-flexcoders

    它允许开发者使用MXML和ActionScript编写用户界面和业务逻辑,然后由Flash Player或Adobe AIR运行时环境执行。FZip组件就是在这个环境中使用的,提供对ZIP文件格式的支持。 2. **FZip组件**: FZip组件是一个开源...

    flex 打包解压缩

    Flex Air 是Adobe开发的一款用于构建桌面应用程序的框架,它基于ActionScript 3.0和Flash Player技术。在Flex Air中,我们有时需要处理文件的压缩和解压缩操作,例如打包项目资源或者传输数据。`ZipArchive` 类是...

    php获取本地图片文件并生成xml文件输出具体思路

    6. **应用场景**:结合描述中的"AIR应用 调用摄像头拍照并保持照片到本地文件夹”,这个过程可以用于实时分享图片。通过socket通信,一台电脑拍摄的照片(生成XML描述)可以即时发送到另一台电脑,实现图片的实时...

Global site tag (gtag.js) - Google Analytics