问题
当我尝试在AIR中合并两个目录时,如果存在任何子目录的冲突,那么被复制的目录将丢失那些子目录中的一些文件。
解决
一个简单的合并两个目录(和所有子目录)的递归函数。
详细描述
对于本地AIR,当一个文件通过copyTo(或通过moveTo移动)拷贝到新的位置,如果overwrite变量是false(默认),这个目录将不会被创建。为了解决这个问题,我们需要设置overwrite为true(在函数中调用它自己)。然而,这将导致完全覆盖冲突的所有子目录。
Moving | Moving to | We Get (Result of copyTo()) | We Want |
root | root | root | root |
subDirectory | subDirectory | subDirectory | subDirectory |
file1.txt | file2.txt | file1.txt | file1.txt file2.txt |
下面的Flex代码可以得到我们想要的结果: