Actionscript 3 使用AS3/Air递归文件夹/目录副本

Actionscript 3 使用AS3/Air递归文件夹/目录副本,actionscript-3,air,Actionscript 3,Air,是否可以使用暂停/恢复功能来执行此操作 source.copyTo( destination ); 如果您能尽早发送,那就太好了。我在这里找到了一个解决方案 也可以使用File.copyTo()方法: 如果目录很大,并且您不希望应用程序在等待复制时被卡住,您可以使用copyToAsync,这将导致源文件在作业完成时发送Event.COMPLETE。如果有人想复制整个目录,这里是上面修改的代码;空文件夹和所有文件。请注意参数中要使用的“copyEmptyFolders”参数 //Recu

是否可以使用暂停/恢复功能来执行此操作

source.copyTo( destination );
如果您能尽早发送,那就太好了。

我在这里找到了一个解决方案


也可以使用File.copyTo()方法:


如果目录很大,并且您不希望应用程序在等待复制时被卡住,您可以使用copyToAsync,这将导致源文件在作业完成时发送Event.COMPLETE。

如果有人想复制整个目录,这里是上面修改的代码;空文件夹和所有文件。请注意参数中要使用的“copyEmptyFolders”参数

    //Recursivley copies directory.
    private static function copyInto(directoryToCopy:File, locationCopyingTo:File, copyEmptyFolders:Boolean=true):void
    {

        var directory:Array = directoryToCopy.getDirectoryListing();

        for each (var f:File in directory)
        {
            if (f.isDirectory)
            {

                // Copies a folder whether it is empty or not.
                if( copyEmptyFolders ) f.copyTo(locationCopyingTo.resolvePath(f.name), true);

                // Recurse thru folder.
                copyInto(f, locationCopyingTo.resolvePath(f.name));

            }
            else
                f.copyTo(locationCopyingTo.resolvePath(f.name), true);

        }

    }

yes AIR.to将文件夹从一个位置复制到另一个位置..已编辑的问题这不会复制空文件夹?否foreach不会对空目录执行,如果directory.length=0,只需将目录复制到要复制的位置,即directoryToCopy.copyTo(locationCopyingTo.resolvePath(directoryToCopy.name),true);
var source:File = new File();
source.resolvePath( 'sourceFolder' );
var destination:File = new File();
destination.resolvePath( 'destinationFolder' );
source.copyTo( destination );
    //Recursivley copies directory.
    private static function copyInto(directoryToCopy:File, locationCopyingTo:File, copyEmptyFolders:Boolean=true):void
    {

        var directory:Array = directoryToCopy.getDirectoryListing();

        for each (var f:File in directory)
        {
            if (f.isDirectory)
            {

                // Copies a folder whether it is empty or not.
                if( copyEmptyFolders ) f.copyTo(locationCopyingTo.resolvePath(f.name), true);

                // Recurse thru folder.
                copyInto(f, locationCopyingTo.resolvePath(f.name));

            }
            else
                f.copyTo(locationCopyingTo.resolvePath(f.name), true);

        }

    }