IOS:复制文件夹中的文件
在我的项目中,我有两个文件.txt(在资源文件夹中),我怎样才能将它们复制到文档文件夹内?
如果不存在,则从资源到文档复制txtFile
。
NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:@"txtFile.txt"]; if ([fileManager fileExistsAtPath:txtPath] == NO) { NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"txtFile" ofType:@"txt"]; [fileManager copyItemAtPath:resourcePath toPath:txtPath error:&error]; }
如果你想覆盖每一次然后试试这个:
if ([fileManager fileExistsAtPath:txtPath] == YES) { [fileManager removeItemAtPath:txtPath error:&error]; } NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"txtFile" ofType:@"txt"]; [fileManager copyItemAtPath:resourcePath toPath:txtPath error:&error];
Swift 3
代码文件是否存在,如果没有则复制。
func CheckFileisExistOrNot(strPath:String) { let filemgr = FileManager.default if !filemgr.fileExists(atPath: strPath) { let resorcePath = Bundle.main.path(forResource: "\(Global.g_databaseName)", ofType: ".db") do { try filemgr.copyItem(atPath: resorcePath!, toPath: strPath) }catch{ print("Error for file write") } } }
NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [[paths objectAtIndex:0]stringByAppendingString:@"csvfile"]; NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:@"sample.csv"]; if ([fileManager fileExistsAtPath:txtPath] == NO) { NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@".csv"]; [fileManager copyItemAtPath:resourcePath toPath:txtPath error:&error];