[转] 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里面加一个断点,你就能看到一个文件夹下所有文件的位置了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值