folderutils.as

来自「flex 实现的一个showcase 喜欢flex的朋友可以」· AS 代码 · 共 100 行

AS
100
字号
package com.teknision.air.utils
{
	import flash.filesystem.File;
	
	public class FolderUtils
	{
		
		static public function getFiles(i_file:File):Array{
			
			var fileListing:Array = i_file.getDirectoryListing();
			var filesArr:Array = new Array();
			for(var i:uint=0;i<fileListing.length;i++){
				if(fileListing[i].isDirectory != true){
					filesArr.push(fileListing[i]);
				}
			}
			return filesArr;
			
		}
		
		static public function getFilesRecursive(i_file:File,i_fileArray:Array=null):Array{
			
			if(i_fileArray == null){
				i_fileArray = new Array();
			}
			
			var fileListing:Array = i_file.getDirectoryListing();
			for(var i:uint=0;i<fileListing.length;i++){
				if(fileListing[i].isDirectory != true){
					i_fileArray.push(fileListing[i]);
				}else{
					FolderUtils.getFilesRecursive(fileListing[i],i_fileArray);
				}
			}
			return i_fileArray;
			
		}
		
		static public function getChildrenFolders(i_file:File):Array{
			
			var fileListing:Array = i_file.getDirectoryListing();
			var folderArr:Array = new Array();
			for(var i:uint=0;i<fileListing.length;i++){
				if(fileListing[i].isDirectory == true){
					folderArr.push(fileListing[i]);
				}
			}
			return folderArr;
			
		}
		
		static public function getChildrenFoldersRecursive(i_file:File,i_folderArray:Array=null):Array{
			
			if(i_folderArray == null){
				i_folderArray = new Array();
			}
			
			var fileListing:Array = i_file.getDirectoryListing();
			for(var i:uint=0;i<fileListing.length;i++){
				if(fileListing[i].isDirectory == true){
					i_folderArray.push(fileListing[i]);
					FolderUtils.getChildrenFoldersRecursive(fileListing[i],i_folderArray);
				}
			}
			return i_folderArray;
			
		}
		
		static public function getFilesOfType(i_file:File,i_type:String):Array{
			
			var filesArray:Array = FolderUtils.getFiles(i_file);
			var fileTypeArray:Array = new Array();
			for(var i:uint=0;i<filesArray.length;i++){
				if(filesArray[i].type != null){
					if(filesArray[i].type.toLowerCase() == i_type.toLowerCase()){
						fileTypeArray.push(filesArray[i]);
					}
				}
			}
			return fileTypeArray;
			
		}
		
		static public function getFilesOfTypeRecursive(i_file:File,i_type:String):Array{

			var filesArray:Array = FolderUtils.getFilesRecursive(i_file);
			var fileTypeArray:Array = new Array();
			for(var i:uint=0;i<filesArray.length;i++){
				if(filesArray[i].type != null){
					if(filesArray[i].type.toLowerCase() == i_type.toLowerCase()){
						fileTypeArray.push(filesArray[i]);
					}
				}
			}
			return fileTypeArray;
			
		}
		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?