![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здраствуйте
Что-то я запутался, подскажите пожалуйста вот есть у меня структура папок (на скрине) Хотелось бы получить такой набор: 1.1.foto - список файлов 1.1.txt - список файлов 1.1.video - список файлов 1.2.foto - список файлов 1.1.txt - список файлов итд "1.1.foto" - это текстовый ID Я написал такой код protected var dir:File; protected var _currentDir:DIR; protected var _recurtionDepth:int=4; protected var _currentRecurtionDepth:int=0; protected function windowedapplication1_applicationCompleteHandler(event:FlexEvent):void { var parentDir:DIR=new DIR("data"); _currentDir=parentDir; listDirectory("data",parentDir); trace("recurtion finish "+ObjectUtil.toString(parentDir)); } protected function listDirectory(dirName:String,dirObject:DIR):void { dir=File.applicationDirectory.resolvePath(dirName); try { dir.getDirectoryListingAsync(); dir.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListCompleteHandler); dir.addEventListener(IOErrorEvent.IO_ERROR,fileIOErrorHandler); } catch(error:Error) { trace("DIRECTORY DOES NOT EXIST"); } } private function directoryListCompleteHandler(event : FileListEvent) : void { _currentRecurtionDepth+=1; dir.removeEventListener(FileListEvent.DIRECTORY_LISTING, directoryListCompleteHandler); dir.removeEventListener(IOErrorEvent.IO_ERROR,fileIOErrorHandler); var cont : Array = event.files; var tmpObject:Object; var arr:Array=new Array(); var itemsID:String=""; for (var i : uint = 0;i<cont.length;i++) { if(cont[i].isDirectory) { var _dir:DIR=new DIR(cont[i].name); _currentDir.directories.push(_dir); listDirectory(cont[i].nativePath,_dir); } else { _currentDir.files.push(cont[i].nativePath); } } } protected function fileIOErrorHandler(event:IOErrorEvent):void { trace("dir does not exists"); } package VO { public class DIR { protected var _id:String; protected var _directories:Vector.<DIR>=new Vector.<DIR>(); protected var _files:Array=new Array(); public function DIR(id:String,directories:Vector.<DIR>=null,files:Array=null) { _id=id; if(directories) { _directories=directories; } } public function get id():String { return _id; } public function set directories(val:Vector.<DIR>):void { _directories=val; } public function get directories():Vector.<DIR> { return _directories; } public function set files(val:Array):void { _files=val; } public function get files():Array { return _files; } } } И вообще, меня терзают смутные сомнения, а не заморочился ли я и возможно, сделать можно гораздо проще ? Последний раз редактировалось djyamato; 26.01.2012 в 22:23. |
|
|||||
|
http://cookbooks.adobe.com/post_Recu...sing-9410.html
Там где строчка проверяете тип файла и пихаете в соответствующий массив
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
http://www.flasher.ru/forum/blog.php?b=497 посмотрите можете, что-то использовать
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|