AS3 AIR - "列表/计数"的胜利内容

Pap*_*eau 1 air directory flash actionscript-3

使用AS3 Air for Android,我可以使用哪些代码列出所有或计算本地计算机上所选目录中的文件?在这种情况下,我使用Air For Android.

然后我想把它们放在一个数组中

我愿意为这个答案给出50分.你可以看到我的代表很多,但这个问题对我来说是巨大的.如果我们不使用Class Package,我希望如果可能的话.

小智 11

以下代码输出用户桌面目录中包含的文件和目录列表.

import flash.filesystem.File;

var desktop:File = File.applicationDirectory.resolvePath("images");
var files:Array = desktop.getDirectoryListing();
for (var i:uint = 0; i < files.length; i++)
{
 trace(files[i].nativePath); // gets the path of the files
 trace(files[i].name);// gets the name
 /// PUT ARRAY CODE HERE to add each "files[i].name" into an array for later use.

}
Run Code Online (Sandbox Code Playgroud)


Mic*_*ael 6

您可以通过检查目录列表中的每个文件是否为目录来遍历目录。以下函数将递归返回所有文件的计数(目录除外)。

function recursiveDirectoryListing( directory:File ):int
{
     var count:int = 0;
     if (directory.isDirectory) 
     {
         var files:Array = directory.getDirectoryListing();
         for (var i:int = 0; i < files.length; i++)
         {
             if (files[i].isDirectory)
             {
                 count += recursiveDirectoryListing( files[i] );
             }
             else
             {
                 trace("file found: " + files[i].nativePath );
                 count += 1;
             }
         }
     }
     return count;
} 
Run Code Online (Sandbox Code Playgroud)

然后,您可以在需要列出的任何位置调用此函数:

recursiveDirectoryListing( File.applicationStorageDirectory );
Run Code Online (Sandbox Code Playgroud)