将文件夹从iPhone Resources目录复制到文档目录

时间:2010-01-31 09:51:38

标签: iphone objective-c

BOOL success;
NSFileManager *fileManager = [[NSFileManager defaultManager]autorelease];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory,
                                                      NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentDBFolderPath = [documentsDirectory stringByAppendingPathComponent:@"DB"];
success = [fileManager fileExistsAtPath:documentDBFolderPath];

if (success){
 return;
}else{
 NSString *resourceDBFolderPath = [[[NSBundle mainBundle] resourcePath]
                                         stringByAppendingPathComponent:@"DB"];
 [fileManager createDirectoryAtPath: documentDBFolderPath attributes:nil];
    [fileManager copyItemAtPath:resourceDBFolderPath toPath:documentDBFolderPath           
                                                                         error:&error];
 }
}

喜欢这个。

Resources / DB / words.csv => DB文件夹副本=>文件/ DB / words.csv

我想在Resources文件夹中复制DB子目录。我认为这个来源很好。但该源创建文件夹,不会复制Resources文件夹中DB文件夹中的文件。

我真的想复制Resources文件夹中DB文件夹中的文件。请帮帮我。

1 个答案:

答案 0 :(得分:8)

1)不要-autorelease NSFileManager 。你是双重释放它会导致你的应用程序崩溃。

2)无需致电-createDirectoryAtPath:。来自-copyItemAtPath:toPath:error:的SDK文档,

  

srcPath 中指定的文件必须存在,而 dstPath 必须不存在

并创建目录,使副本失败。