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