Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex FLEX:获取文件夹大小_Apache Flex_Flash_Actionscript 3_Air - Fatal编程技术网

Apache flex FLEX:获取文件夹大小

Apache flex FLEX:获取文件夹大小,apache-flex,flash,actionscript-3,air,Apache Flex,Flash,Actionscript 3,Air,我正在通过执行以下操作来获取文件夹大小: var FolderFile:File = new File("file:///SomePath/Folder"); var FolderSize: FolderFile.size; 但是这给了我一个0的值,我怎样才能得到文件夹的大小呢?有什么办法可以这样做吗 Tranks我想知道文件夹的大小(比如10mb)。对不起,第二行我写错了,是: var Foldersize:Number = FolderFile.size; 我刚刚创建了一个执行此函数的

我正在通过执行以下操作来获取文件夹大小:

var FolderFile:File = new File("file:///SomePath/Folder");
var FolderSize: FolderFile.size;
但是这给了我一个0的值,我怎样才能得到文件夹的大小呢?有什么办法可以这样做吗


Tranks

我想知道文件夹的大小(比如10mb)。对不起,第二行我写错了,是:

 var Foldersize:Number = FolderFile.size;
我刚刚创建了一个执行此函数的新类:

        public function GetFolderSize(Source:Array):Number
    {
        var TotalSizeInteger:Number = new Number();
        for(var i:int = 0;i<Source.length;i++){
            if(Source[i].isDirectory){
                TotalSizeInteger +=   this.GetFoldersize(Source[i].getDirectoryListing());
            }
            else{
                TotalSizeInteger += Source[i].size;
            }
        }
        return TotalSizeInteger;
    }
但这是一个非常缓慢的方法,有没有更快速、更简单的方法来了解文件夹大小

对不起我的语法,我只是在学英语


谢谢

我想知道文件夹的大小(比如10mb)。对不起,第二行我写错了,是:

 var Foldersize:Number = FolderFile.size;
我刚刚创建了一个执行此函数的新类:

        public function GetFolderSize(Source:Array):Number
    {
        var TotalSizeInteger:Number = new Number();
        for(var i:int = 0;i<Source.length;i++){
            if(Source[i].isDirectory){
                TotalSizeInteger +=   this.GetFoldersize(Source[i].getDirectoryListing());
            }
            else{
                TotalSizeInteger += Source[i].size;
            }
        }
        return TotalSizeInteger;
    }
但这是一个非常缓慢的方法,有没有更快速、更简单的方法来了解文件夹大小

对不起我的语法,我只是在学英语


谢谢

不,没有办法自动完成。获取目录的大小是一项复杂且可能非常缓慢的操作。一个目录中可能有10到数千个文件,或者一个目录可能位于(慢速?)网络上,更不用说磁带存储和类似场景了


文件系统本身不存储目录大小信息,知道它的唯一方法是逐文件计算,没有快捷方式。因此,您将不得不依赖上面发布的解决方案,是的,它会很慢。

不,无法自动完成。获取目录的大小是一项复杂且可能非常缓慢的操作。一个目录中可能有10到数千个文件,或者一个目录可能位于(慢速?)网络上,更不用说磁带存储和类似场景了


文件系统本身不存储目录大小信息,知道它的唯一方法是逐文件计算,没有快捷方式。因此,您必须依赖上面发布的解决方案,是的,它会很慢。

您希望第二行做什么?您所说的文件夹大小是什么意思。。是10MB之类的文件夹大小还是文件夹中的项目数??检查语法-第二行可能应该是var FolderSize:number=FolderFile.size。这是一个AIR问题(File是一个纯AIR类),和.size应该返回一个数值。您希望第二行做什么?文件夹大小是什么意思。。是10MB之类的文件夹大小还是文件夹中的项目数??检查语法-第二行可能应该是var FolderSize:number=FolderFile.size。这是一个AIR问题(File是一个纯AIR类),和.size应该返回一个数值。请相信这一章。您可以看到操作系统本身也存在相同的限制-winXP大约需要30秒来合计我的c:\windows文件夹的大小。好的,谢谢您的时间:)。我将使用我在上面发布的解决方案。Tranks再次相信这一章。您可以看到操作系统本身也存在同样的限制-winXP大约需要30秒来计算我的c:\windows文件夹的大小。好的,谢谢您的时间:)。我将使用我在上面发布的解决方案。又变了