Flex:Air文件夹的遍历

来源:互联网 发布:在淘宝怎么开旗舰店 编辑:程序博客网 时间:2024/05/17 22:29

1、作一个按钮单击事件:


  1. private function loadImg():void{  
  2.    flag=0;  
  3.    file.browseForDirectory("请选择一个目录");  //激发Event.SELECT事件  
  4.   }  

 

 

2、再作一个file对象的监听


  1. private var file:File;  
  2.   
  3. file.addEventListener(Event.SELECT,onSingleSelect);  

3、


  1. private function onSingleSelect(evt:Event):void{  
  2.    if(flag==1){//flag标志位是否为最深目录  
  3.       var fileStream:FileStream;  
  4.       fileStream.open(file,FileMode.WRITE);  
  5.       //public function open(file:File, fileMode:String):void  
  6.       //以同步方式打开 FileStream 对象,指向由 file 参数指定的文件。  
  7.        //file:File — 指定要打开的文件的 File 对象。    
  8.       // fileMode:String — FileMode 类中的一个字符串,用于定义 FileStream 的功能(如读取或写入文件的功能)。    
  9.       var buf:ByteArray;  
  10.       buf.position=0;  
  11.       fileStream.writeBytes(buf);  
  12.       fileStream.close();  
  13.      }else{  
  14.            pop(evt.target as File);//查看是否为最深目录  
  15.    }  
  16.   }  

 

4、


  1. private function pop(file:File):void  
  2.         {  
  3.             if(file.isDirectory)  
  4.             { //指示是否为对目录的引用。如果 File 对象指向一个目录,则该值为 true;否则为 false  
  5.                 var arr:Array=file.getDirectoryListing();//getDirectoryListing()返回与此 File 对象表示的目录下的文件和目录对应的 File 对象的数组。此方法不浏览子目录的内容。   
  6.                 for each(var file:File in arr){//File 对象表示文件或目录的路径(既可以是文件也可以是路径)  
  7.                     if(!file.isDirectory)  
  8.                     {  
  9.                         var vo:FileVo=new FileVo();  
  10.                         path=file.nativePath;  
  11.                         startIndex=path.lastIndexOf("//");  
  12.                         //lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int  
  13.                         //使用全等运算符 (===) 搜索数组中的项(从最后一项开始向前搜索),并返回匹配项的索引位置。  
  14.                         endIndex=path.lastIndexOf(".");  
  15.                         vo.path=path;  
  16.                         vo.id=int(path.substring(startIndex+1,endIndex));  
  17.                         //substring返回一个字符串,其中包含由 startIndex 指定的字符和一直到 endIndex - 1 的所有字符。  
  18.                         fileArray.push(vo);  
  19.                     }else  
  20.                     {  
  21.                         pop(file);  
  22.                     }  
  23.                 }  
  24.             }  
  25.             fileArray.sortOn("id",Array.NUMERIC);  
  26.             tList.dataProvider=fileArray;  
  27.         }  

 

 

0 0