使用NSFileManager
时,如果存在图像路径或文件夹,如何替换文档目录中的新图像路径(或)文件夹。
NSFileManager
中是否有替换功能?
(如何用文档目录中的新图像路径替换图像路径位置)
答案 0 :(得分:1)
你想要写一个图像,只需将其写入文件即可。 如果同一路径中存在同名图像,将覆盖:
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"];
NSData * binaryImageData = UIImagePNGRepresentation(imageToSave);
[binaryImageData writeToFile:[basePath stringByAppendingPathComponent:@"myfile.png"] atomically:YES];
答案 1 :(得分:1)
您无法使用NSFileManager替换路径,因为您已经保存了ImagePath。现在您可以检查该路径是否存在,然后您可以使用以下命令删除该文件路径:
if ([fileManager fileExistsAtPath:Path] == YES) {
[fileManager removeItemAtPath:Path error:&error];
}
现在保存新路径。
如果您要替换内容,请先删除,然后再使用
重新编写writeToFile:filePath
答案 2 :(得分:0)
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* foofile = [documentsPath stringByAppendingPathComponent:filename];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:foofile];
NSLog(fileExists ? @"Yes" : @"No");
if (fileExists == YES)
{
NSString *filePath = [NSString stringWithFormat:@"%@/%@", aDocumentsDirectory,filename];
NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
[data1 writeToFile:filePath atomically:YES];
}