objective c - 将文件复制到现有目录中

时间:2015-05-19 08:33:44

标签: objective-c copy nsfilemanager

如何在不复制整个目录的情况下将文件从DIR1复制到DIR2?

我正在尝试将文件复制到包含其他文件的文件夹,因此我不想创建新文件夹。以下代码的作用如下:

[[NSFileManager defaultManager] copyItemAtPath:sourceDir toPath:destDir error:&err];

2 个答案:

答案 0 :(得分:2)

获取文件夹中的所有内容

var myList = new List<string>();
for(var i = 0; i < 4; ++i)
{
     var id = AppContent.GetIdentifier(token + i.ToString(), "string", "package_name");
     if (id != 0)
        myList.Add(AppContext.GetString(id));
}

枚举文件列表并复制它们。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSArray *fileList = [[NSFileManager defaultManager] directoryContentsAtPath:documentsDirectory];

答案 1 :(得分:1)

这就是我完成它的方式:

NSArray *sourceFiles = [fileManager contentsOfDirectoryAtPath:sourceDir error:NULL];

NSError *copyError = nil;

for (NSString *currentFile in sourceFiles)
{
    BOOL isDirectory = NO;
    NSString* fullFilePath = [NSString stringWithFormat:@"%@/%@",sourceDir,currentFile];
    if ([fileManager fileExistsAtPath:fullFilePath isDirectory:&isDirectory] && !isDirectory)
    {
        if (![fileManager copyItemAtPath:[sourceDir stringByAppendingPathComponent:currentFile] toPath:[destDir stringByAppendingPathComponent:currentFile] error:&copyError])
        {
            NSLog(@"Error Copying: %@", [copyError description]);
        }
    }
}