AS3 空气 - "list / count"词典内容



使用 AS3 Air for Android,我可以使用什么代码来列出本地计算机上所选目录中的所有文件或对文件进行计数?在这种情况下,我使用的是 Air for Android。

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

我愿意为这个答案给50分。正如你对我的代表所看到的,这很多,但这个问题对我来说是巨大的。如果可能的话,如果我们不使用类包,我希望它。

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

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.
}

您可以通过检查目录列表中的每个文件是否为目录来递归目录。以下函数将以递归方式返回所有文件的计数(不包括目录)。

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;
} 

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

recursiveDirectoryListing( File.applicationStorageDirectory );

最新更新